解码json对象的问题

时间:2016-02-20 17:06:23

标签: php html json

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

我的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:数组。

请提供帮助,因为我需要访问cid中的quantity$data值。

2 个答案:

答案 0 :(得分:0)

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

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

数量为{p> $json["SCI-2"]["quantity"],cid为$json["SCI-2"]["cid"]

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

要在foreach中访问,您需要:

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

答案 1 :(得分:0)

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

$obj = json_decode($json);

在此之后,迭代$obj变量和之后的,在循环内部,使用foreach获取每个属性。

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