我正在尝试访问json解码数据的数组元素。我在尝试访问时出错。下面是我的php代码和输出解码的json数据。
<?php
.
.
.
$json = $response;
$json_output = json_decode($json, true);
echo '<pre>';
print_r($json_output);
?>
Array
(
[0] => Array
(
[alph_id] => 02adb5b4-d2fe-4a46-8798-1e2b876b2055
[name] => Michael
[s_id] => 1462339266273
[avg_at] => 12.060000419617
[distance] => 0
[sw] => OFF
[set_no] => 1
[final_at] => 18.700000762939
)
[1] => Array
(
[alph_id] => 02adb5b4-d2fe-4a46-8798-1e2b876b2055
[name] => John
[s_id] => 1462339266273
[avg_at] => 12.060000413454
[distance] => 0
[sw] => OFF
[set_no] => 1
[final_at] => 19.700000762939
)
.
.
.
我试图访问alph_id元素,但它显示了一个错误。
echo $json_output[0]->alph_id;
Notice: Trying to get property of non-object
我认为我正确地访问了数组元素。这是怎么回事?
谢谢。。。
通过使用true
作为第二个参数,对关联数组进行json解码。
因此,您需要将其作为$json_output[0]['alph_id']
进行访问。
如果你这样做,
$json_output = json_decode($json);
这个json_decode将结果返回为Object,那么它应该是
$json_output[0]->alph_id;
您在json_decode 的第二个参数中使用了true
json_decode($json, true);
当您定义它时,应该访问具有以下结构的索引
$json_output[0]['alph_id'];