json_arr = "{"name" : "John","class":"09"},{"name":"Miley","class":"10"}"
这是一个有效的 JSON 数组吗?它是 JSON 中的数组数组吗?我对此很陌生,有点困惑。如果是正确的,我该如何遍历这个数组并解析每个 json 数组?谢谢!
我写了这个:
require 'json'
json_arr.each do |x|
pa = JSON(x)
end
当我打印 pa 时,它没有被解析。
它不是一个有效的数组,JSON 数组被 [] 包围。此外,您在双引号内使用了未转义的双引号。
接近有效数组的东西看起来像这样:
[{"name":"john", "class":"09"},{"name":"Miley","class":"10"}]
您必须用以下内容包围您的数组[]
:
json_arr = '[{"name" : "John","class":"09"},{"name":"Miley","class":"10"}]'
为了遍历数组,您必须解析JSON 字符串:
arr = JSON.parse(json_arr)
# => [{"name"=>"John", "class"=>"09"}, {"name"=>"Miley", "class"=>"10"}]
arr.each do |x|
# do something with x
end
在此站点http://jsonlint.com/检查您的 json 数组
json 中的数组遵循此语法[item1, item2, item3]
,因此您缺少[]
.
简而言之:不,它无效。这就是你要找的:
[
{
"name" : "John",
"class" : "09"
},
{
"name" : "Miley",
"class" : "10"
}
]
将来要对此进行测试,请尝试使用此工具。