从JSON多级获取数据

时间:2013-01-20 13:26:56

标签: php json export

我搜索并阅读了很多不同的论坛来管理JSON数据 我尝试了很多东西,但没有一个能起作用;(

{"data": {"results": [{"qid_data": {"custom_id": "XXXXXX", "labels": "YYYYY", "meta": "{}", "bbox": [73, 57, 128, 516], "obj_id": "ZZZZZZ"}, "qid": "WWWWWWWW"}], "error": 0}}

我想获得以下值: custom_idlabelsbboxobjet_idqid

现在我有以下代码(例如custom_id

$json_output = json_decode($data);
foreach ($json_output as $json_result) {
echo "custom_id:".$json_result->data->results->qid_data->custom_id;
}

我尝试过所有可能的变化。

$json_result->results->qid_data->custom_id;

OR

$json_result->results->qid_data->custom_id;

OR

$json_result->data->results->custom_id;

OR

$json_result->results->custom_id;

我永远不会得到结果,总是错误

如果有人可以提供有关如何使用示例进行导出的帮助 数据custom_idbboxqid

1 个答案:

答案 0 :(得分:3)

{"data": {"results": [{"qid_data": {"

不等于

$json_result->results->qid_data

等于

 $json_output->data->results[0]->qid_data

注意显示结果的方括号是一个列表

{"data": {"results": [{"qid_data": {"
                     ^

看起来你想要的是迭代该列表

foreach ($json_output->data->results as $result) {
    echo "custom_id:".$result->qid_data->custom_id;
}