我提出这个问题3天前,但不幸的是我不能解决我的问题,直到现在。我会再次提出这个问题,希望有人帮助我。访问嵌套的项目从一个JSON结构与foreach PHP产生错误
我有以下JSON结构
{"Id":"1","Persons":[{"Name":"Luis","Time":"00:00:09","info":"","Timeext":"","Timeout":"","Timein":""}, {"Name":"Carl","Time":"00:00:03","info":"","Timeext":"","Timeout":"","Timein":""},{"Name":"Ben","Time":"00:00:08","info":"","Timeext":"","Timeout":"","Timein":""}]}
向该元件Id
不是访问的问题。我能得到这个值是这样的:
$arr['Id'] = $_POST['Id'];
echo $arr['Id'];
但是,如果要访问的结构Persons
的JSON的内部,具体到每个人的时间价值,我这样做:
$arr['Persons'] = $_POST['Persons'];
$jsdecode = json_decode($arr['Persons']);
foreach ($arr['Persons'] as $p){
echo "$p->Time <br/>";
}
这是得到的结果:
<b>Warning</b>: json_decode() expects parameter 1 to be string, array given in <b>C:\xampp\htdocs\Stopuhr\controller\prozess.controller.php</b> on line <b>38</b><br />
<br />
<b>Notice</b>: Trying to get property of non-object in <b>C:\xampp\htdocs\Stopuhr\controller\prozess.controller.php</b> on line <b>41</b><br />
<br/><br />
<b>Notice</b>: Trying to get property of non-object in <b>C:\xampp\htdocs\Stopuhr\controller\prozess.controller.php</b> on line <b>41</b><br />
<br/>
请有人帮助我吗?
你能分享$ _POST ['Persons']的输出吗?你有没有检查你是否得到正确的输入? – kakajan
您可以将第二个参数'true'添加到'json_decode',这样它将返回一个关联数组而不是一个对象。 – Crecket
如果你想从数组创建json使用['json_encode'](http://php.net/json_encode)而不是['json_decode'](http://php.net/json_decode) – kakajan