У меня есть этот список продуктов в 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
Вы проверили руководство?
Или просто найти дубликаты?
Как преобразовать строку 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);