我有一些像这样的json对象:
{"g_aaa77":
{"'title'":"title2",
"'r_a6cff'":
{"name":"name2","price":"2"},
"'r_7fc7b'":
{"name":"name22","price":"22"}
},
"g_a36b5":
{"title":"title1",
"r_4e122":
{"name":"name1","price":"1"},
"r_155fa":
{"name":"name11","price":"11"}
}
}
g_aaa77
和g_a36b5
是随机字符串。
r_a6cff
,r_7fc7b
,r_4e122
,r_155fa
我怎么读这个json?
通常就是这样:
$json = { .. };
$json->g_a36b5->title;
但我没有' g_a36b5'。它是一个随机字符串。
也许我必须把这个json转换成另一个或类似的东西。
你可以告诉我怎样才能读到这个json?答案 0 :(得分:8)
首先,json_decode
你的json。
$array = json_decode($json, true);
现在你需要使用foreach循环,因为你仍然不知道键是什么:
foreach($array AS $key => $subarray) {
echo $key . ": " . print_r($subarray, true);
}
如果您不关心保留密钥,可以使用array_values
删除这些随机字符串。
$array = array_values($array);
现在你仍然可以遍历它,或者只是通过数字键直接寻址数组元素:
print_r($array[0]);
echo $array[1]['title']; // title1