json_decode
Разбирает строку JSON.
Синтаксис
json_decode(string $json, ?bool $associative = null, int $depth = 512, int $flags = 0): mixedПараметры
| Параметр | Тип | Описание |
|---|---|---|
| $json | string | Строка в формате JSON. |
| $associative | ?bool | Необязательный. `true` — вернуть массивы вместо объектов. |
| $depth | int | Необязательный. Наибольшая глубина вложенности. |
| $flags | int | Необязательный. `JSON_THROW_ON_ERROR` — исключение при ошибке. |
Возвращаемое значение
mixedМассив, объект или простое значение; `null` при ошибке.
Примеры
JSON в массив:
<?php
$user = json_decode('{"name": "Anna", "age": 25}', true);
echo $user['name'], ' ', $user['age'];Результат:
Anna 25Некорректная строка:
<?php
try {
json_decode('not json', true, 512, JSON_THROW_ON_ERROR);
} catch (JsonException $error) {
echo 'Invalid JSON';
}Результат:
Invalid JSONПримечания
Без второго аргумента true объекты JSON становятся объектами PHP: $user->name вместо $user['name']. Без флага JSON_THROW_ON_ERROR ошибка неотличима от корректного значения null.
См. также
- json_encode — Преобразует значение в строку JSON.
- file_get_contents — Читает файл целиком в строку.
Вопросы и ответы по теме
В учебнике
- Формат JSON — JSON в PHP — json_encode и json_decode, работа с кириллицей, обработка ошибок и хранение данных в файле.