首页 > 解决方案 > 来自 JSON 的 PHP 值

问题描述

我对 JSON 数组有疑问。我如何从“订单”->“状态”中获取价值这是正文 JSON 正文

{
  "orders": [
    {
      "orderId": "F3MXBWMG61151028GUEST000P01",
      "orderCreateDate": "2015-10-28T09:24:45.318+01:00",
      "notifyUrl": "http://server/payuint2/main/notify2",
      "customerIp": "127.0.0.1",
      "merchantPosId": "200003",
      "description": "TEST",
      "currencyCode": "USD",
      "totalAmount": "15000",
      "status": "NEW",
      "products": [
        {
          "name": "TEST",
          "unitPrice": "15000",
          "quantity": "1"
        }
      ]
    }
  ],
  "status": {
    "statusCode": "SUCCESS",
    "statusDesc": "Request processing successful"
  }
}

我现在正在尝试使用代码

$order_info_payu = json_decode($response,true);
 $order_status = $order_info_payu->orders->status;

或者

 $order_status = $order_info_payu['orders']['status'];

当我只使用

$order_status = $order_info_payu['orders']

那么我有内容,但是如何从“订单”中捕获“状态”?

标签: phparraysjsonapirest

解决方案


现在它的工作。

$order_status = $order_info_payu->orders[0]->status;
echo $order_status;

订单对象内部,您有一个数组,这就是您需要添加..->orders[0]->..的原因

看到有一个

  {
  "orders": [ .... /* square brackets = an array inside the order object,*/ 
]
}

这个 方括号意味着在order 对象之后有一个数组,然后在该数组中还有其他对象。


推荐阅读