Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник PHP

json_decode

Разбирает строку JSON.

Синтаксис

json_decode(string $json, ?bool $associative = null, int $depth = 512, int $flags = 0): mixed

Параметры

ПараметрТипОписание
$jsonstringСтрока в формате JSON.
$associative?boolНеобязательный. `true` — вернуть массивы вместо объектов.
$depthintНеобязательный. Наибольшая глубина вложенности.
$flagsintНеобязательный. `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, работа с кириллицей, обработка ошибок и хранение данных в файле.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.