doulian7305 2014-06-29 12:09
浏览 153
已采纳

无法解析php中的json数组

I have this following php file that is supposed to loop through a json array and print the necessary information. But I am getting an error in browser which i don't know why it is shown."( ! ) Parse error: syntax error, unexpected 'foreach' (T_FOREACH) in C:\wamp\www\bootstrap-dist\jsonpost.php on line 15". Can someone help me to solve this.

<?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条回答 默认 最新

  • dongyuan4790 2014-06-29 12:14
    关注

    First of all, the syntax error is because you forgot a semicolon after the JSON variable.

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

    And to parse it; use json_decode.

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

    EDIT: Added , true to the json_decode, and also, your JSON has a syntax error.

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

    EDIT 2: Concatenating strings with + leads to 0. Use ..

    echo $ProductName." ".$ProductQuantity;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么