Json object to php: PHP: json_decode — Manual
PHP JSON — AlphaCodingSkills
Расширение JSON реализует формат обмена данными JavaScript Object Notation (JSON). PHP поставляется с парсером, который специально написан для PHP и распространяется под лицензией PHP.
Установка
Расширение JSON включено и скомпилировано в PHP по умолчанию. Начиная с PHP 8.0.0, расширение JSON является основным расширением PHP, поэтому оно всегда включено.
Конфигурация среды выполнения
Это расширение не имеет директив конфигурации, определенных в php.ini .
Описание класса | |
---|---|
JsonException | Класс JsonException. |
Описание интерфейса | |
---|---|
JsonSerializable | Интерфейс JsonSerializable. |
Методы | Описание |
jsonSerialize() | Укажите данные, которые должны быть сериализованы в JSON. |
Функции | Описание |
---|---|
json_decode() | Декодирует строку JSON. |
json_encode() | Возвращает представление значения в формате JSON. |
json_last_error_msg() | Возвращает строку ошибки последнего вызова json_encode() или json_decode(). |
json_last_error() | Возвращает последнюю возникшую ошибку. |
Приведенные ниже константы определяются этим расширением и будут доступны только в том случае, если расширение либо скомпилировано в PHP, либо динамически загружено во время выполнения.
Следующие константы указывают тип ошибки, возвращаемый json_last_error() или сохраняемый как код JsonException.
Константы | Тип | Описание |
---|---|---|
JSON_ERROR_NONE | Целое число | Ошибка не обнаружена. |
JSON_ERROR_DEPTH | Целое число | Превышена максимальная глубина стека. |
JSON_ERROR_STATE_MISMATCH | Целое число | Происходит при потере значимости или при несоответствии режимов. |
JSON_ERROR_CTRL_CHAR | Целое число | Ошибка управляющего символа, возможно, неправильно закодирован. |
JSON_ERROR_SYNTAX | Целое число | Синтаксическая ошибка. |
JSON_ERROR_UTF8 | Целое число | Неверные символы UTF-8, возможно, неправильно закодированные. |
JSON_ERROR_RECURSION | Целое число | Объект или массив, переданный в json_encode(), включает рекурсивные ссылки и не может быть закодирован. Если была задана опция JSON_PARTIAL_OUTPUT_ON_ERROR, то вместо рекурсивной ссылки будет закодирован null. |
JSON_ERROR_INF_OR_NAN | Целое число | Значение, переданное в json_encode(), включает либо NAN, либо INF. Если была задана опция JSON_PARTIAL_OUTPUT_ON_ERROR, вместо этих специальных чисел будет закодирован 0. |
JSON_ERROR_UNSUPPORTED_TYPE | Целое число | Функция json_encode() получила значение неподдерживаемого типа, например ресурс. Если была задана опция JSON_PARTIAL_OUTPUT_ON_ERROR, вместо неподдерживаемого значения будет закодировано значение null. |
JSON_ERROR_INVALID_PROPERTY_NAME | Целое число | Ключ, начинающийся с символа \u0000, находился в строке, переданной функции json_decode() при декодировании объекта JSON в объект PHP. |
JSON_ERROR_UTF16 | Целое число | Одиночный непарный суррогат UTF-16 в escape-последовательности Unicode, содержащийся в строке JSON, переданной в json_decode(). |
Следующие константы можно комбинировать для формирования опций для json_decode().
Константы | Тип | Описание |
---|---|---|
JSON_BIGINT_AS_STRING | Целое число | Декодирует большие целые числа как их исходное строковое значение. |
JSON_OBJECT_AS_ARRAY | Целое число | Декодирует объекты JSON как массив PHP. Эту опцию можно добавить автоматически, вызвав json_decode() со вторым параметром, равным true. |
Следующие константы можно комбинировать для формирования параметров json_encode().
Константы | Тип | Описание |
---|---|---|
JSON_HEX_TAG | Целое число | Все < и > преобразуются в \u003C и \u0 03Э. |
JSON_HEX_AMP | Целое число | Все & преобразуются в \u0026. |
JSON_HEX_APOS | Целое число | Все ‘ преобразуются в \u0027. |
JSON_HEX_QUOT | Целое число | Все » преобразуются в \u0022. |
JSON_FORCE_OBJECT | Целое число | При использовании неассоциативного массива выводит объект, а не массив.Особенно полезно, когда получатель на выходе ожидается объект, а массив пуст. 0022 |
JSON_NUMERIC_CHECK | Целое число | Кодирует числовые строки как числа. |
JSON_PRETTY_PRINT | Целое число | Используйте пробелы в возвращенных данных для их форматирования. |
JSON_UNESCAPED_SLASHES | Целое число | Не экранировать /. |
JSON_UNESCAPED_UNICODE | Целое число | Буквально кодировать многобайтовые символы Unicode (по умолчанию экранируется как \uXXXX). |
JSON_PARTIAL_OUTPUT_ON_ERROR | Целое число | Заменить некоторые некодируемые значения вместо ошибочных. |
JSON_PRESERVE_ZERO_FRACTION | Целое число | Гарантирует, что значения с плавающей точкой всегда кодируются как значение с плавающей запятой. |
JSON_UNESCAPED_LINE_TERMINATORS | Целое число | Признаки конца строки не экранируются, когда передается JSON_UNESCAPED_UNICODE. |