无法解析php中的json数组

时间:2014-06-29 12:09:58

标签: php json

我有以下php文件,它应该循环通过json数组并打印必要的信息。但是我在浏览器中收到一个错误,我不知道它为什么显示。"(!)解析错误:语法错误,意外' foreach' (T_FOREACH)在第15行和第34行的C:\ wamp \ www \ bootstrap-dist \ jsonpost.php中。有人可以帮我解决这个问题。

<?php
 $jArray ='{ "books":[{"id":"01",
                       "language": "Java",
                       "edition": "third",
                       "author": "Herbert Schildt"
                        },
                        {
                       "id":"07",
                       "language": "C++",
                       "edition": "second"
                       "author": "E.Balagurusamy"
                        }]
                    }'

    foreach ($jArray as $obj) { // error in this line
                 $ProductName = $obj['edition'];   
                 $ProductQuantity= $obj['language'];
                 echo   $ProductName+" "+$ProductQuantity;
             }

?>

1 个答案:

答案 0 :(得分:3)

首先,语法错误是因为您忘记了JSON变量后面的分号。

 ... 
        "E.Balagurusamy"
    }]
}'; // <-- there 

并解析它;使用json_decode

$parsed = json_decode($jArray, true);
foreach ($parsed['books'] as $obj) {
    // ... 

编辑, true已添加json_decode,而且您的JSON语法错误。

"edition": "second", /* NOTE THE COMMA HERE */
"author": "E.Balagurusamy"

编辑2:使用+连接字符串会导致0.使用.

echo $ProductName." ".$ProductQuantity;