PHP - JavaScript 对象表示法函数


JSON 中的预定义常量

以下常量由该扩展定义,并且仅当扩展已编译到 PHP 中或在运行时动态加载时才可用。

以下常量指示 json_last_error() 函数返回的错误类型。

  • JSON_ERROR_NONE (整数) - 没有发生错误。
  • JSON_ERROR_DEPTH(整数)- 已超出最大堆栈深度
  • JSON_ERROR_STATE_MISMATCH (整数) - 下溢或模式不匹配时发生
  • JSON_ERROR_CTRL_CHAR (integer) - 控制字符错误,可能编码错误
  • JSON_ERROR_SYNTAX (整数) - 语法错误
  • JSON_ERROR_UTF8 (integer) - 格式错误的 UTF-8 字符,可能编码错误
  • JSON_ERROR_RECURSION (integer) - 传递给 json_encode() 的对象或数组包含递归引用,无法编码。如果给出了 JSON_PARTIAL_OUTPUT_ON_ERROR 选项,则 NULL 将在递归引用的位置进行编码
  • JSON_ERROR_INF_OR_NAN (整数) - 传递给 json_encode() 的值包括 NAN 或 INF。如果给出了 JSON_PARTIAL_OUTPUT_ON_ERROR 选项,则将在这些特殊数字的位置编码 0
  • JSON_ERROR_UNSUPPORTED_TYPE (整数) - 为 json_encode() 提供了不支持类型的值,例如资源。如果给出了 JSON_PARTIAL_OUTPUT_ON_ERROR 选项,则 NULL 将被编码在不支持的值的位置
  • JSON_ERROR_INVALID_PROPERTY_NAME (integer) - 将 JSON 对象解码为 PHP 对象时,以 \u0000 字符开头的键位于传递给 json_decode() 的字符串中
  • JSON_ERROR_UTF16 (integer) - 传递给 json_encode() 的 JSON 字符串中包含的 unicode 转义中的单个未配对的 UTF-16 代理项

可以组合以下常量来形成 json_decode() 函数的选项。

  • JSON_BIGINT_AS_STRING (integer) - 将大整数解码为其原始字符串值
  • JSON_OBJECT_AS_ARRAY (integer) - 将 JSON 对象解码为 PHP 数组。该选项可以通过调用 json_decode() 自动添加,第二个参数等于 TRUE

可以组合以下常量来形成 json_encode() 的选项。

  • JSON_HEX_TAG(整数)- 所有<和>都转换为\u003C和\u003E
  • JSON_HEX_AMP (整数) - 所有 & 都转换为 \u0026
  • JSON_HEX_APOS (整数) - 所有 ' 都转换为 \u0027
  • JSON_HEX_QUOT (整数) - 所有 " 都转换为 \u0022
  • JSON_FORCE_OBJECT (integer) - 使用非关联数组时输出对象而不是数组。当输出的接收者期望一个对象并且数组为空时特别有用
  • JSON_NUMERIC_CHECK (integer) - 将数字字符串编码为数字
  • JSON_PRETTY_PRINT (integer) - 在返回的数据中使用空格来格式化它
  • JSON_UNESCAPED_SLASHES (整数) - 不要转义/
  • JSON_UNESCAPED_UNICODE (integer) - 按字面编码多字节 Unicode 字符(默认转义为 \uXXXX)
  • JSON_PARTIAL_OUTPUT_ON_ERROR (整数) - 替换一些不可编码的值而不是失败
  • JSON_PRESERVE_ZERO_FRACTION (integer) - 确保浮点值始终编码为浮点值
  • JSON_UNESCAPED_LINE_TERMINATORS (integer) - 当提供 JSON_UNESCAPED_UNICODE 时,行终止符保持未转义。它使用与 PHP 7.1 之前相同的行为,但没有此常量
先生编号 功能说明
1 json_解码()

json_decode() 函数可以解码 JSON 字符串。

2 json_encode()

json_encode() 函数可以返回值的 JSON 表示形式。

3 json_last_error()

json_last_error() 函数可以返回最后发生的错误。

4 json_last_error_msg()

json_last_error_msg() 函数可以返回最后一次 json_encode() 或 json_decode() 调用的错误字符串。

5 sonserialized_interface()

当使用 json_encode() 函数编码时,实现 JsonSerialized 接口的对象可以自定义其 JSON 表示形式。

6 JsonSerialized_jsonSerialize()

JsonSerialized::jsonSerialize() 可以指定可以序列化为 JSON 的数据。

php_function_reference.htm