如何使用未知多键的JSON(PHP)

时间:2013-03-11 00:08:22

标签: php json key

我收到一个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.然后我仍然无法访问地图键的子元素。 有人有解决方案吗?

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);
    } 
}