dongyuan1902 2016-02-26 08:46 采纳率: 0%
浏览 374
已采纳

如何在php中解析带有数组的JSON字符串

I am sending a JSON string in php post request. JSON string look like this:

{"mobile":"0000000000","otp":"970996", "items":[{"pid":"12", "vid":"20"},{"pid":"13", "vid":"2"}]}

At server side i want to get mobile, otp and pid and vid for all items.

I am getting mobile number from this:

$data = json_decode(file_get_contents('php://input'), true);
//print_r($data);
echo $data["mobile"];

But when i am trying to get pid and vid like this:

foreach($data["items"] as $mydata){

     echo $mydata->pid;
}

i am getting error: Trying to get property of non-object.

How to solve this?

Edit:

If there is any better way to parse JSON in php, please suggest that also.

  • 写回答

1条回答 默认 最新

  • dongsi3826 2016-02-26 08:50
    关注

    Just access pid with:

    $mydata['pid']
    

    You pass true as a second argument for json_decode

    When TRUE, returned objects will be converted into associative arrays.

    So you have to treat is as an array, not an object.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突