Следующие константы определяются модулем и доступны, только если модуль либо собрали в 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_ERROR_NON_BACKED_ENUM
(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)
null.
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.