php 在调用 json_decode 从字符串对象生成的 json 对象时,如果使用 []
操作符读取数据,就会出现下面的错误。
错误信息:Cannot use object of type stdClass as array
错误原因:把 json_decode() 后的对象当作数组使用,如下代码就会报这个错误。
$res = json_decode($res);
echo $res['key'];
解决方法(2种):
1、使用 json_decode($s, true)。就是使 json_decode 的第二个变量设置为 true,这样 json_decode() 返回的是数组(array),$res[‘key’] 就可以了。
2、json_decode($res) 返回的是一个对象(object), 不可以使用$res[‘key’] 进行访问, 换成 $res->key 就可以了。