2017-01-27 162 views
-3

我想引用具有相同鍵名的字符串,但希望打印第二個鍵值。例如:訪問嵌套在數組中的JSON哈希元素

text = '[{ "name": "car", "status": "good" }, 
     { "name": "bus", "status": "bad" }, 
     { "name": "taxi", "status": "soso" }]' 

我想要第二個元素的name

回答

1
require 'json' 
text = '[{ "name" : "car", "status": "good"}, { "name" : "bus", "status": "bad"},{ "name" : "taxi", "status": "soso"}]' # Note change to single outer quotes 
puts JSON.load(text)[1]["name"] 
# => bus 

因爲text在技術上是哈希值的數組,你想要得到的指數值[1],然後看着哈希鍵[「名稱」]

+0

在Ruby該公約已經朝着'load'轉向和'轉儲'的東西像JSON,YAML和其他序列化程序,如元帥。 'JSON.load'是這裏推薦的名字。 – tadman

+0

有趣。在這裏每天學習一些東西...... – orde