【发布时间】:2020-11-26 18:14:46
【问题描述】:
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']
那么我有内容,但是如何从“订单”中获取“状态”?
【问题讨论】:
-
json_decode 将第二个参数设置为 true,将对象转换为关联数组 - 所以
->将不再工作。而orders本身就是一个对象的array - 所以你需要首先使用数字索引来访问其中一个对象。所以$order_info_payu['orders'][0]['status'] -
做
print_r($order_info_payu);看结构,你会看到0在那里。 -
太好了,它有效!非常感谢!