json多个数组解码

时间:2016-06-10 12:43:34

标签: php arrays json

我有以下代码:

$json = ' {
    "HTML": 
        [
            {
              "id": 1,
              "name": "HTML",
              "match": false
            },
            {
              "id": 2,
              "name": "HTML 5",
              "match": false
            },
            {
              "id": 3,
              "name": "XHTML",
              "match": false
            }
        ]
}';

$obj = json_decode($json);
$obj[0][0]->name; // JavaScript: The Definitive Guide

为什么会出现以下错误?

  

使用stdClass类型的对象作为数组

我正确地解码了json,比我说我想从数组中选择第一个对象(在本例中是HTML)而不是我想要选择数组中第一个的名称。

出了什么问题?

1 个答案:

答案 0 :(得分:1)

您的第一个JSON是对象(HTML),其中包含另一个对象的数组。您必须调用->HTML[0](数组中的第一个对象),然后调用->name,这是HTML对象的参数。

$obj->HTML[0]->name;