Как пропустить эти json-декодированные данные в PHP?

У меня есть этот список продуктов в JSON, который необходимо декодировать:

"[{"productId":"epIJp9","name":"Product A","amount":"5","identifier":"242"},{"productId":"a93fHL","name":"Product B","amount":"2","identifier":"985"}]" 

После того, как я расшифровал его на PHP с помощью json_decode() , я понятия не имею, какая структура является результатом. Я предположил, что это будет массив, но после того, как я попрошу count() он говорит о своем «0». Как я могу прокручивать эти данные, чтобы получить атрибуты каждого продукта в списке.

Благодаря!

Чтобы преобразовать json в массив, используйте

  json_decode($json, true); 

Вы можете использовать json_decode (). Он преобразует ваш json в массив.

например,

 $json_array = json_decode($your_json_data); // convert to object array $json_array = json_decode($your_json_data, true); // convert to array 

Затем вы можете перебрать переменную массива типа,

 foreach($json_array as $json){ echo $json['key']; // you can access your key value like this if result is array echo $json->key; // you can access your key value like this if result is object } 

Попробуйте следующие коды:

 $json_string = '[{"productId":"epIJp9","name":"Product A","amount":"5","identifier":"242"},{"productId":"a93fHL","name":"Product B","amount":"2","identifier":"985"}]'; $array = json_decode($json_string); foreach ($array as $value) { echo $value->productId; // epIJp9 echo $value->name; // Product A } 

Получить счет

 echo count($array); // 2 

Вы проверили руководство?

http://www.php.net/manual/en/function.json-decode.php

Или просто найти дубликаты?

Как преобразовать строку JSON в массив

Используйте GOOGLE.

 json_decode($json, true); 

Второй параметр. Если это правда, он вернет массив.

Вы можете попробовать код на php скрипке онлайн, работает для меня

  $list = '[{"productId":"epIJp9","name":"Product A","amount":"5","identifier":"242"},{"productId":"a93fHL","name":"Product B","amount":"2","identifier":"985"}]'; $decoded_list = json_decode($list); echo count($decoded_list); print_r($decoded_list);