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

时间:2016-02-26 08:46:37

标签: php json

我在php post请求中发送一个JSON字符串。 JSON字符串如下所示:

public FakeHttpRequest(string relativeUrl, Uri url, Uri urlReferrer)
        : this(relativeUrl, **HttpVerbs.Get.ToString("g"),** url, urlReferrer,
              null, null, null, null)
    {

    }

在服务器端,我希望获得所有项目的移动,otp和pid以及vid。

我从中得到手机号码:

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

但是当我想要像这样得到pid和vid时:

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

我收到错误:试图获取非对象的属性。

如何解决这个问题?

编辑:

如果有更好的方法来解析php中的JSON,请同时提出建议。

1 个答案:

答案 0 :(得分:1)

只需访问pid

$mydata['pid']

您将true作为json_decode

的第二个参数传递
  

当为TRUE时,返回的对象将被转换为关联数组。

所以你必须把它视为一个数组,而不是一个对象。