JSON у PHP-масив
Вставте JSON і отримайте код масиву PHP, який можна одразу покласти у фікстуру, тест чи конфіг.
Робить із відповіді API код, який не соромно закомітити
Відповідь від API або приклад із документації треба покласти в тест як очікувані дані чи в сід як фікстуру. Переписувати руками довго й з помилками. Інструмент перетворює JSON на код масиву PHP з коротким синтаксисом, обраним відступом і правильним екрануванням рядків.
json_decode розбирає рядок у значення PHP: обʼєкти стають stdClass або, з другим аргументом true, асоціативними масивами. Глибина вкладеності обмежена третім аргументом (512 за замовчуванням), а прапорець JSON_THROW_ON_ERROR перетворює тихе null на виняток JsonException з описом, що саме зламалось.
$json = '{"id": 427, "tags": ["php", "laravel"], "salary": {"from": 3500, "to": 5000}}';
$data = json_decode($json, true, 512, JSON_THROW_ON_ERROR);
// те, що видасть інструмент:
$data = [
'id' => 427,
'tags' => ['php', 'laravel'],
'salary' => [
'from' => 3500,
'to' => 5000,
],
];
Що питають про цей інструмент
json_decode без другого аргументу повертає обʼєкти stdClass, з true повертає асоціативні масиви. Для даних, які ви одразу обробляєте, масиви простіші: доступ через ['key'], робота з array_* функціями. Обʼєкти доречні, коли важливо відрізнити «немає ключа» від «ключ є, значення null».
JSON не обмежує довжину чисел, а PHP int обмежений 64 бітами. Ідентифікатори з двадцяти цифр стануть float і втратять кінець. Використовуйте JSON_BIGINT_AS_STRING, і такі числа прийдуть рядками.
Так, і показує рядок та колонку помилки. Найчастіше це кома після останнього елемента або одинарні лапки: JSON вимагає лише подвійні, а трейлінг-коми не дозволяє.