JSON解码数组的PHP显示子项

时间:2018-10-08 01:48:40

标签: php arrays json

我正在使用PHP与API进行交互,但是我无法在JSON解码数组中显示子子项的值,这是API请求的响应。我可以成功显示所有数组数据,但无法显示我正在寻找的特定值,即产品图像链接。

我正在尝试通过以下响应格式访问“数据->图像->链接”:

{
  "status": 0,
  "country": "string",
  "page_count": 0,
  "page_current": 0,
  "page_size": 0,
  "total_items": 0,
  "data": {
    "code": 0,
    "name": "string",
    "description": "string",
    "categories": [
      "string"
    ],
    "colours": "string",
    "dimensions": [
      "string"
    ],
    "sizing": [
      {
        "sizing_line": "string"
      }
    ],
    "materials": "string",
    "specifications": "string",
    "branding_options": [
     {
       "print_type": "string",
       "print_description": "string"
      }
    ],
    "packaging": "string",
    "carton": {
      "length": 0,
      "width": 0,
      "height": 0,
      "weight": "string",
      "quantity": 0
    },
    "full_colour": 0,
    "mix_and_match": 0,
    "image_count": 0,
    "images": [
      {
        "link": "string",
        "name": "string"
      }
    ],
     "product_wire": "string",
     "pricing": [
        {
        "type": "string",
        "primary_price_description": "string",
        "less_than_moq": "string",
        "prices": [
         {
           "quantity": 0,
           "price": 0
        }
       ],
        "additional_costs": [
          {
            "description": "string",
            "unit_price": 0,
            "setup_price": 0
          }
        ],
        "pricing_comment": "string"
      }
    ]
  }
}

任何帮助或建议,我们将不胜感激!谢谢:)

1 个答案:

答案 0 :(得分:4)

如果您按以下方式使用json_encode,则必须以对象格式编写:

$test1 = json_decode($test);
print_r($test1->data->images[0]->link);

如果您将{true“作为第二个参数添加到json_decode,则可以按以下方式访问它:

$test2 = json_decode($test, true);
print_r($test2['data']['images'][0]['link']);

以这种方式检查,让我知道您是否还有问题。