解码 json 对象时出现问题


Issues with decoding json object

感谢您花时间阅读这篇文章。

我的 php 文件正在接收一个 json 对象。 但是我在解码时遇到了问题。

我的 php 代码:

$data=$_POST['arg1']; 
echo $data;
$json = json_decode($data,true);
echo $json;
$i = 1;
foreach($json as $key => $value) {
    print "<h3>Name".$i." : " . $value . "</h3>";
    $i++;
}

当我echo数据结果如下时。

{
    "SCI-2": {
        "quantity": 2,
        "id": "SCI-2",
        "price": 280,
        "cid": "ARTCOTSB"
    }
}

当我回显$json时,结果如下:

数组 名称 1 :数组。

请协助,因为我需要访问$data中的cidquantity值。

json_decode 返回一个数组。要打印阵列,您可以使用print_rvar_dump

现在要访问您的值,您可以尝试:

$json["SCI-2"]["quantity"]数量,$json["SCI-2"]["cid"] CID。

演示 : https://eval.in/522350

要访问foreach您需要这个:

foreach($json as $k) {
   foreach($k as $key => $value) {
      print "<h3>Name".$i." : " . $value . "</h3>";
   }
}

由于您不知道对象中的项目数,请使用以下命令:

$obj = json_decode($json);

在此之后,迭代$obj变量,然后在循环中,使用 foreach 获取每个属性。

foreach($iteratedObject as $key => $value) {
    //your stuff
}