PHP - JavaScript 物件表示法函式



JSON 中的預定義常量

以下常量由此擴充套件定義,並且只有當擴充套件已編譯到 PHP 中或在執行時動態載入時才可用。

以下常量指示 json_last_error() 函式返回的錯誤型別。

  • JSON_ERROR_NONE (整數) - 未發生錯誤。
  • JSON_ERROR_DEPTH (整數) - 已超過最大堆疊深度
  • JSON_ERROR_STATE_MISMATCH (整數) - 發生下溢或模式不匹配
  • JSON_ERROR_CTRL_CHAR (整數) - 控制字元錯誤,可能編碼不正確
  • JSON_ERROR_SYNTAX (整數) - 語法錯誤
  • JSON_ERROR_UTF8 (整數) - UTF-8 字元格式錯誤,可能編碼不正確
  • JSON_ERROR_RECURSION (整數) - 傳遞給 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 (整數) - 在解碼 JSON 物件到 PHP 物件時,傳遞給 json_decode() 的字串中存在以 \u0000 字元開頭的鍵
  • JSON_ERROR_UTF16 (整數) - JSON 字串中包含的 unicode 轉義中存在單個未配對的 UTF-16 代理

以下常量可以組合形成 json_decode() 函式的選項。

  • JSON_BIGINT_AS_STRING (整數) - 將大整數解碼為其原始字串值
  • JSON_OBJECT_AS_ARRAY (整數) - 將 JSON 物件解碼為 PHP 陣列。此選項可以透過使用等於 TRUE 的第二個引數呼叫 json_decode() 自動新增

以下常量可以組合形成 json_encode() 的選項。

  • JSON_HEX_TAG (整數) - 所有 < 和 > 轉換為 \u003C 和 \u003E
  • JSON_HEX_AMP (整數) - 所有 & 轉換為 \u0026
  • JSON_HEX_APOS (整數) - 所有 ' 轉換為 \u0027
  • JSON_HEX_QUOT (整數) - 所有 " 轉換為 \u0022
  • JSON_FORCE_OBJECT (整數) - 當使用非關聯陣列時,輸出物件而不是陣列。當輸出的接收者期望一個物件並且陣列為空時,這尤其有用
  • JSON_NUMERIC_CHECK (整數) - 將數字字串編碼為數字
  • JSON_PRETTY_PRINT (整數) - 在返回的資料中使用空格對其進行格式化
  • JSON_UNESCAPED_SLASHES (整數) - 不要轉義 /
  • JSON_UNESCAPED_UNICODE (整數) - 按字面意思編碼多位元組 Unicode 字元(預設情況下轉義為 \uXXXX)
  • JSON_PARTIAL_OUTPUT_ON_ERROR (整數) - 替換一些不可編碼的值而不是失敗
  • JSON_PRESERVE_ZERO_FRACTION (整數) - 確保浮點值始終編碼為浮點值
  • JSON_UNESCAPED_LINE_TERMINATORS (整數) - 當提供 JSON_UNESCAPED_UNICODE 時,換行符保持未轉義。它使用與 PHP 7.1 之前在沒有此常量的情況下相同的方式
序號 函式和描述
1 json_decode()

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 sonserializable_interface()

實現 JsonSerializable 介面的物件可以在使用 json_encode() 函式編碼時自定義其 JSON 表示形式。

6 JsonSerializable_jsonSerialize()

JsonSerializable::jsonSerialize() 可以指定可以序列化為 JSON 的資料。

php_function_reference.htm
廣告