下列常量由此扩展定义,且仅在此扩展编译入 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 起生效。
JSON_ERROR_NON_BACKED_ENUM
(int)