Модуль определяет следующие константы и открывает доступ к ним только тогда, когда модуль либо собрали в PHP, либо динамически загрузили при выполнении кода.
Следующие константы указывают на тип ошибки, которую возвращает функция json_last_error() или которая хранится в свойстве code объекта исключения JsonException.
JSON_ERROR_NONE
(int)
JSON_ERROR_DEPTH
(int)
JSON_ERROR_STATE_MISMATCH
(int)
JSON_ERROR_CTRL_CHAR
(int)
JSON_ERROR_SYNTAX
(int)
JSON_ERROR_UTF8
(int)
JSON_ERROR_RECURSION
(int)
JSON_PARTIAL_OUTPUT_ON_ERROR
, то
на месте рекурсивных ссылок будет выведен null
.
JSON_ERROR_INF_OR_NAN
(int)
NAN
,
либо INF
.
Если была указана константа JSON_PARTIAL_OUTPUT_ON_ERROR
,
то вместо указанных особых значений будет выведен 0
.
JSON_ERROR_UNSUPPORTED_TYPE
(int)
JSON_PARTIAL_OUTPUT_ON_ERROR
,
то вместо неподдерживаемого значения будет выводиться null
.
JSON_ERROR_INVALID_PROPERTY_NAME
(int)
JSON_ERROR_UTF16
(int)
Можно комбинировать следующие константы для передачи в json_decode().
JSON_BIGINT_AS_STRING
(int)
JSON_OBJECT_AS_ARRAY
(int)
true
.
Следующие константы можно комбинировать для использования в json_encode().
JSON_HEX_TAG
(int)
JSON_HEX_AMP
(int)
JSON_HEX_APOS
(int)
JSON_HEX_QUOT
(int)
JSON_FORCE_OBJECT
(int)
JSON_NUMERIC_CHECK
(int)
JSON_PRETTY_PRINT
(int)
JSON_UNESCAPED_SLASHES
(int)
/
.
JSON_UNESCAPED_UNICODE
(int)
JSON_PARTIAL_OUTPUT_ON_ERROR
(int)
JSON_PRESERVE_ZERO_FRACTION
(int)
JSON_UNESCAPED_LINE_TERMINATORS
(int)
JSON_UNESCAPED_UNICODE
. Поведение будет таким же,
какое оно было до PHP 7.1 без этой константы.
Доступна с PHP 7.1.0.
Следующие константы можно комбинировать для использования в json_decode() и json_encode().
JSON_INVALID_UTF8_IGNORE
(int)
JSON_INVALID_UTF8_SUBSTITUTE
(int)
JSON_THROW_ON_ERROR
(int)
JSON_PARTIAL_OUTPUT_ON_ERROR
имеет приоритет над
JSON_THROW_ON_ERROR
. Доступна с PHP 7.3.0.
JSON_ERROR_NON_BACKED_ENUM
(int)