我收到一个JSON字符串,它有多个未知密钥。这很难解释,因为那些JSON字符串非常大,我会尝试以最有效的方式将它们分解。
当我解码JSON字符串时,我使用PHP来分解对象。
$data1 = $json->result->map->12313214654[0]
$data2 = $json->result->map->12313214654[2]
$differentdata1 = $json->result->map->12313214655[0]
如您所见, map 键后面有不同的小节。
这些是数字,非常随机。他们的外表也不规律。所以有时只有一个小节(或数字),有时甚至更多。
我怎样才能访问它们?我试图使用$datacount = $count($json->result->map)
但它总是显示1.然后我仍然无法访问地图键的子元素。
有人有解决方案吗?
答案 0 :(得分:2)
由于您似乎以数组形式拥有未知数量的数据,因此您可以使用foreach
循环迭代结果:
foreach ($json->result->map as $key => $dataArray) {
// $key will be the numeric key, e.g. 12313214654
// $dataArray will be the array of data you're after
foreach ($value as $dataIndex => $data) {
// $dataIndex is the position of $data within the $dataArray
// $data is the value you were trying to access with $json->result->map->12313214654[n]
// You do your work with $data here.
print_r($data);
}
}