Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试在php中读取发布的json数据时出错_Php_Json - Fatal编程技术网

尝试在php中读取发布的json数据时出错

尝试在php中读取发布的json数据时出错,php,json,Php,Json,我有以下问题。当我试图读取从html页面发布的一些json数据时,我会遇到以下错误“试图在线获取非对象的属性” 用于创建json的Jquery脚本 var json = {"data":[]}; json.data.push({serialNumber: $serialNumber, xreosi: $xreosiToPost, forma: $forma, apolia: $apolia}); 用于发布到php的Jquery $.post("page.php",{jsonData: JSO

我有以下问题。当我试图读取从html页面发布的一些json数据时,我会遇到以下错误“试图在线获取非对象的属性”

用于创建json的Jquery脚本

var json = {"data":[]};

json.data.push({serialNumber: $serialNumber, xreosi: $xreosiToPost,
forma: $forma, apolia: $apolia});
用于发布到php的Jquery

$.post("page.php",{jsonData: JSON.stringify(json),
customer: $("#cusID").val()},function(data){});
PHP文件

  $json = json_decode($_POST['jsonData']);
  foreach($json as $value){
    $serialNumber = $value->serialNumber;
    echo $serialNumber;
  }
提前感谢。

之后:

var json = {"data":[]};

json.data.push({serialNumber: $serialNumber, xreosi: $xreosiToPost,
forma: $forma, apolia: $apolia});
你有: 对象[data][0]=数组('serialNumber'=>…)

需要:

$json = json_decode($_POST['jsonData'][0]); 


json_decode
不带第二个参数将结果作为php对象返回。您必须将
true
作为第二个参数传递。此外,您的数据位于
$json['data']
,而不是
$json

$json = json_decode($_POST['jsonData'], true);
foreach($json['data'] as $value) {
    $serialNumber = $value->serialNumber;
    echo $serialNumber;
}

非常感谢,这解决了我的问题!谢谢你的时间!
$json = json_decode($_POST['jsonData'], true);
foreach($json['data'] as $value) {
    $serialNumber = $value->serialNumber;
    echo $serialNumber;
}