我有以下代码:
$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)而不是我想要选择数组中第一个的名称。
出了什么问题?
答案 0 :(得分:1)
您的第一个JSON是对象(HTML),其中包含另一个对象的数组。您必须调用->HTML[0]
(数组中的第一个对象),然后调用->name
,这是HTML对象的参数。
$obj->HTML[0]->name;