2017-01-27 120 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