下列常量由此扩展定义,且仅在此扩展编译入 PHP 或在运行时动态载入时可用。
以下常量表示了 json_last_error() 函数,或 JsonException 类中的 code 变量所返回的错误类型。
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() 的 form 选项结合使用。
JSON_BIGINT_AS_STRING
(int) JSON_OBJECT_AS_ARRAY
(int) true
时此选项会自动添加。 下面的常量可以和 json_encode() 的 form 选项结合使用。
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
is supplied. It uses the same behaviour as it was before PHP 7.1 without this constant. Available since PHP 7.1.0. 下面的常量可以和 json_decode() 及 json_encode() 的 form 选项结合使用。
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 起生效。