dongyuan1902
dongyuan1902
采纳率0%
2016-02-26 08:46

如何在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 dongsi3826 5年前

    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.

    点赞 评论 复制链接分享