如何使用ruby从json文件中获取第二级字段
我在ruby中使用json gem。 我试图打印二级字段,如[地址/城市/ born_in]。我的ruby代码是
json = File.read('person.json') person = JSON.parse(json) pp person puts person["address"]["city"]["born_in"]
我的json文件如下..,
{“FirstName”:“John”,“lastName”:“Smith”,“age”:25,“address”:[{“streetAddress”:“21 2nd Street”,“state”:“NY”,“postalCode” :“10021”},{“city”:{“born_in”:“New York”,“living_in”:“Mumbai”}}}}
它显示以下错误..,
parsingjson.rb:15:in `[]': can't convert String into Integer (TypeError) from parsingjson.rb:15:in `'
您的address
字段是一个数组。 您应该使用索引来引用其元素。
puts person["address"][0]["streetaddress"] puts person["address"][1]["city"]["born_in"]
person [‘address’]的结果是Array,你可以使用它
puts person['address'][1]['city']['born_in']