gpt4 book ai didi

ruby-on-rails-3 - 在 Rails 中遍历 JSON

转载 作者:行者123 更新时间:2023-12-02 01:14:23 26 4
gpt4 key购买 nike

我有一个单行 JSON 文件,我正在尝试迭代并寻找循环遍历它的最佳方法。

炸出来,长这个样子:

{
"system": "Test",
"Continents": [
{
"Continent": {
"name": "Europe",
"location": "North"
},
"Continent": {
"name": "Australia",
"location": "South"
},
"Continent": {
"name": "Asia",
"location": "North"
}
}
]
}

首先,我使用以下内容加载 JSON,它成功加载了完整的 JSON。

File.open(json_file, 'r') do |file|

file.each do |line|

JSON.parse(line).each do |item|

## CODE TO ITERATE HERE

end
end
end

我不确定该怎么做是遍历 Continents 部分并提取相关记录。目标是循环遍历并将信息输出到列表/表格/显示中。

感谢您的帮助 - 如果我可以澄清,请告诉我。

最佳答案

JSON.parse 会将您的 JSON 字符串转换为 Ruby 哈希,因此您可以像使用其他任何东西一样使用它:

json = JSON.parse(line)
json["Continents"].each do |continent|
# do something
end

但是,您的数据存在一个单独的问题。如果您实际使用 JSON.parse 处理您发布的数据,您应该得到如下结果:

{"system"=>"Test", "Continents"=>[{"Continent"=>{"name"=>"Asia", "location"=>"North"}}]}

您会注意到只有一个大陆 - 那是因为 Ruby 哈希只支持每个键一个值,所以 Continent 键会被每个 Continent 覆盖JSON。您可能需要考虑另一种格式化该数据的方式。

关于ruby-on-rails-3 - 在 Rails 中遍历 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13363996/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com