我正在尝试访问已解码的json结构,其中$encoded包含来自shopify API GET /admin/orders/450789469.json的响应(请参阅their docs)。

$decoded= json_decode($encoded_input, true);
var_dump($decoded);

$ decoded的转储显示已解码的嵌套数组,但是当我尝试访问各个元素时,没有任何显示。
echo $decoded->orders[0]->buyer_accepts_marketing;

谁能解释为什么解码后的json结构无法访问?谢谢

最佳答案

线

$decoded= json_decode($encoded_input, true);

告诉PHP将字符串解码为数组,然后在该行
$decoded->orders[0]->buyer_accepts_marketing;

您尝试将其作为对象进行访问。您可以尝试使用
$decoded['orders'][0]['buyer_accepts_marketing'];

代替。

编辑:另请参阅文档:http://www.php.net/manual/en/function.json-decode.php

编辑2:根据api规范,您应该改为访问
$decoded['order']['buyer_accepts_marketing'];

关于php - 无法访问或解析PHP中的解码json结构,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17323931/

10-11 08:22