Как разобрать строку JSON
Короткий ответ
json_decode() со вторым аргументом true возвращает массив:
<?php
$user = json_decode('{"name": "Anna", "tags": ["php", "sql"]}', true);
echo $user['name'], ' ', count($user['tags']);Результат:
Anna 2Некорректный JSON
С флагом JSON_THROW_ON_ERROR ошибка становится исключением:
<?php
try {
json_decode('{broken', true, 512, JSON_THROW_ON_ERROR);
} catch (JsonException $error) {
echo 'Invalid JSON';
}Результат:
Invalid JSONИз файла
Прочитайте файл и разберите его содержимое:
<?php
$file = sys_get_temp_dir() . '/recipe-config.json';
file_put_contents($file, '{"theme": "dark", "size": 14}');
$config = json_decode(file_get_contents($file), true);
echo $config['theme'];Результат:
darkФункции из этого ответа
- json_decode — Разбирает строку JSON.
- json_encode — Преобразует значение в строку JSON.
- file_get_contents — Читает файл целиком в строку.