PHP отображает вложенный элемент в декодированном массиве json - PullRequest
0 голосов
/ 08 октября 2018

Я использую PHP для взаимодействия с API, и у меня возникают проблемы с отображением значения подпункта в декодированном массиве json, который является ответом на запрос API.Я могу успешно отобразить все данные массива, но не могу отобразить конкретное значение, которое я ищу, это ссылка на изображение продукта.

Я пытаюсь получить доступ к «data-> images-> link» изформат ответа ниже:

{
  "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 голосов
/ 08 октября 2018

Если вы используете 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']);

проверьте этот способ и дайте мне знать, если у вас все еще есть проблема.

...