Предопределённые константы
PHP Manual
PHP Manual»JSON»Предопределённые константы

Предопределённые константы

Следующие константы определяются модулем и доступны, только если модуль либо собрали в PHP, либо динамически загрузили при выполнении кода.

Следующие константы указывают на тип ошибки, которую возвращает функция json_last_error() или которая хранится в свойстве code объекта исключения JsonException.

JSON_ERROR_NONE (int)

Процедура кодирования или декодирования завершилась без ошибок.

JSON_ERROR_DEPTH (int)

Превышена максимальная глубина стека.

JSON_ERROR_STATE_MISMATCH (int)

Ошибка возникает из-за нарушения JSON-формата, например из-за преждевременного завершения структуры, или когда декодируемая структура не соответствует ожидаемой, например, когда вместо объекта встречается массив.

JSON_ERROR_CTRL_CHAR (int)

Ошибка управляющих символов, вероятно, из-за неверного кодирования.

JSON_ERROR_SYNTAX (int)

Синтаксическая ошибка.

JSON_ERROR_UTF8 (int)

Символы сформированы с нарушением правил кодировки UTF-8, что часто возникает из-за неправильного кодирования.

JSON_ERROR_RECURSION (int)

Объект или массив, который передали в функцию json_encode(), содержит рекурсивные ссылки и аргумент невозможно закодировать. При передаче опции JSON_PARTIAL_OUTPUT_ON_ERROR рекурсивные ссылки кодируются как значение null.

JSON_ERROR_INF_OR_NAN (int)

Значение, которое передали в функцию json_encode(), включает либо значение NAN, либо значение INF. С опцией JSON_PARTIAL_OUTPUT_ON_ERROR эти особые числа кодируются как значение 0.

JSON_ERROR_UNSUPPORTED_TYPE (int)

В функцию json_encode() передали значение неподдерживаемого типа наподобие resource. С опцией JSON_PARTIAL_OUTPUT_ON_ERROR неподдерживаемые значения кодируются как null.

JSON_ERROR_INVALID_PROPERTY_NAME (int)

В строке, которую передали в функцию json_decode() при декодировании JSON-объекта в PHP, содержался ключ, который начинается с символа \u0000.

JSON_ERROR_UTF16 (int)

В JSON-строке, которую передали в функцию json_decode(), содержится экранированная Unicode-последовательность с одним непарным суррогатом из кодировки UTF-16.

JSON_ERROR_NON_BACKED_ENUM (int)

Значение, которое передали в функцию json_encode(), включает нетипизированное перечисление, которые в PHP не сериализуются. Константа доступна с PHP 8.1.0.

Следующие константы передают в функцию json_decode() отдельно или комбинируют.

JSON_BIGINT_AS_STRING (int)

Декодирует большие целые числа как исходное строковое значение этих чисел.

JSON_OBJECT_AS_ARRAY (int)

Преобразовывает JSON-объекты в PHP-массив. Опция задаётся автоматически, если вызвать функцию json_decode() и указать вторым аргументом значение true.

Следующие константы передают в функцию json_encode() отдельно или комбинируют.

JSON_HEX_TAG (int)

Символы < и > преобразовываются в последовательности \u003C и \u003E.

JSON_HEX_AMP (int)

Символы & преобразовываются в последовательность \u0026.

JSON_HEX_APOS (int)

Символы ' преобразовываются в последовательность \u0027.

JSON_HEX_QUOT (int)

Символы " преобразовываются в последовательность \u0022.

JSON_FORCE_OBJECT (int)

Выводит объект, а не массив, при кодировании неассоциативного массива. Это полезно, когда кодируется пустой массив, а получатель вывода ожидает объект.

JSON_NUMERIC_CHECK (int)

Кодирует числовые строки как числа.

JSON_PRETTY_PRINT (int)

Форматирует данные возврата с добавлением пробельных символов.

JSON_UNESCAPED_SLASHES (int)

Не экранировать символы /.

JSON_UNESCAPED_UNICODE (int)

Не кодировать многобайтовые символы Юникода, которые по умолчанию кодируются как последовательности \uXXXX.

JSON_PARTIAL_OUTPUT_ON_ERROR (int)

Вместо прерывания с ошибкой замещает значения, которые невозможно закодировать, значением null.

JSON_PRESERVE_ZERO_FRACTION (int)

Гарантирует, что значение, которое принадлежит типу float, кодируется как значение с плавающей точкой, когда дробная часть равна 0.

JSON_UNESCAPED_LINE_TERMINATORS (int)

При передаче флага с опцией JSON_UNESCAPED_UNICODE символы конца строки остаются неэкранированными. Флаг ведёт себя так же, как и до PHP 7.1 без опции. Константа доступна с PHP 7.1.0.

Следующие константы передают в функции json_decode() и json_encode() отдельно или комбинируют.

JSON_INVALID_UTF8_IGNORE (int)

Игнорировать некорректные символы кодировки UTF-8. Константа доступна с PHP 7.2.0.

JSON_INVALID_UTF8_SUBSTITUTE (int)

Преобразовывать недопустимые для кодировки UTF-8 символы в последовательность \0xfffd — Юникод-символ 'REPLACEMENT CHARACTER'. Константа доступна с PHP 7.2.0.

JSON_THROW_ON_ERROR (int)

С этим флагом вместо установки глобального состояния ошибки, которое извлекается функциями json_last_error() и json_last_error_msg(), функции кодирования и декодирования выбрасывают исключение JsonException, если возникает ошибка. Константа JSON_PARTIAL_OUTPUT_ON_ERROR приоритетнее константы JSON_THROW_ON_ERROR. Константа доступна с PHP 7.3.0.

To Top