我有一个 JSON 对象的网址,看起来像 thaht :
{
"sitesSessions" : {
"910360_2" : {
"name": "name",
"adresse": "adresse"
},
"76590_1" : {
"name": "name",
"adresse": "adresse"
}
}
}
(这只是一个例子,真正的JSON对象很长(,我想访问这个对象中的"name"和"adresse"。
我需要创建一个 rake 任务来解析所有文档并获取名称和地址并将其插入 excel 文件中。
但是我不知道如何访问"名称"和"地址",因为我有这个"910360_2"或"76590_1",它们对于 json 中的每个对象都是不同的......
有人可以帮助我吗?
这很容易,我建议你阅读Ruby Hashes。
{
"sitesSessions" : {
"910360_2" : {
"name": "name",
"adresse": "adresse"
},
"76590_1" : {
"name": "name",
"adresse": "adresse"
}
}
}
>> require 'json'
=> true
>> JSON.parse(f)
=> {"sitesSessions"=>{"910360_2"=>{"name"=>"name", "adresse"=>"adresse"}, "76590_1"=>{"name"=>"name", "adresse"=>"adresse"}}}
>> JSON.parse(f)["sitesSessions"].values
=> [{"name"=>"name", "adresse"=>"adresse"}, {"name"=>"name", "adresse"=>"adresse"}]
>> JSON.parse(f)["sitesSessions"].values.map do |x|
>> [x['name'], x['adresse']]
>> end
=> [["name", "adresse"], ["name", "adresse"]]
看起来您可以迭代返回哈希中的所有值:
hash = JSON.parse(json)
hash['sitesSessions'].values
#=> [
# {
# "name": "name",
# "adresse": "adresse"
# },
# {
# "name": "name",
# "adresse": "adresse"
# }
# ]