json_encode( ) / json_last_error( ) 預約義常量

json_encode( )php

<?php

//例
json_encode($data,JSON_BIGINT_AS_STRING );

JSON_HEX_TAG (integer)
  //全部的 < 和 > 轉換成 \u003C 和 \u003E。 自 PHP 5.3.0 起生效。

JSON_HEX_AMP (integer)
  //全部的 & 轉換成 \u0026。 自 PHP 5.3.0 起生效。

JSON_HEX_APOS (integer)
  //全部的 ' 轉換成 \u0027。 自 PHP 5.3.0 起生效。

JSON_HEX_QUOT (integer)
  //全部的 " 轉換成 \u0022。 自 PHP 5.3.0 起生效。

JSON_FORCE_OBJECT (integer)
  //使一個非關聯數組輸出一個類(Object)而非數組。 在數組爲空而接受者須要一個類(Object)的時候尤爲有用。 自 PHP 5.3.0 起生效。

JSON_NUMERIC_CHECK (integer)
  //將全部數字字符串編碼成數字(numbers)。 自 PHP 5.3.3 起生效。

JSON_PRETTY_PRINT (integer)
  //用空白字符格式化返回的數據。 自 PHP 5.4.0 起生效。

JSON_UNESCAPED_SLASHES (integer)
  //不要編碼 /。 自 PHP 5.4.0 起生效。

JSON_UNESCAPED_UNICODE (integer)
  //以字面編碼多字節 Unicode 字符(默認是編碼成 \uXXXX)。 自 PHP 5.4.0 起生效。

JSON_PARTIAL_OUTPUT_ON_ERROR (integer)
 //它避免了使用json_encode函數時的錯誤。執行默認值的替換而不是非編碼的替換。適用於PHP 5.5.0。

JSON_PRESERVE_ZERO_FRACTION (integer)
 //確保在小數部分爲0的狀況下,將float類型的值轉換爲float值。可用PHP 5.6.6。

JSON_UNESCAPED_LINE_TERMINATORS (integer)
 //若是指定了常量,則不會轉義行尾字符 JSON_UNESCAPED_UNICODE。若是沒有此常量,將與PHP 7.1以前的行爲相同。適用於PHP 7.1.0。

json_last_error( )json

JSON_ERROR_NONE (integer)
  //沒有錯誤發生。自 PHP 5.3.0 起生效。

JSON_ERROR_DEPTH (integer)
  //到達了最大堆棧深度。自 PHP 5.3.0 起生效。

JSON_ERROR_STATE_MISMATCH (integer)
  //出現了下溢(underflow)或者模式不匹配。自 PHP 5.3.0 起生效。

JSON_ERROR_CTRL_CHAR (integer)
  //控制字符錯誤,多是編碼不對。自 PHP 5.3.0 起生效。

JSON_ERROR_SYNTAX (integer)
  //語法錯誤。 自 PHP 5.3.0 起生效。

JSON_ERROR_UTF8 (integer)
  //異常的 UTF-8 字符,也許是由於不正確的編碼。 自 PHP 5.3.3 起生效

JSON_ERROR_RECURSION (integer)
  //傳遞給json_encode()的對象或數組包含遞歸引用,沒法編碼。若是JSON_PARTIAL_OUTPUT_ON_ERROR給出了選項,NULL則將在遞歸引用的位置進行編碼。從PHP 5.5.0開始提供。

JSON_ERROR_INF_OR_NAN (integer)
  //傳遞給json_encode()的值包括 NAN 或者INF。若是JSON_PARTIAL_OUTPUT_ON_ERROR給出了選項,則將在這些特殊數字的位置編碼0。從PHP 5.5.0開始提供。

JSON_ERROR_UNSUPPORTED_TYPE (integer)
  //爲json_encode()提供了不受支持的類型的值,例如資源。若是JSON_PARTIAL_OUTPUT_ON_ERROR給出了該選項,NULL則將在不受支持的值的位置進行編碼。從PHP 5.5.0開始提供。

JSON_ERROR_INVALID_PROPERTY_NAME (integer)
  //在將JSON對象解碼爲PHP對象時,傳遞給json_decode()的字符串中以\ u0000字符開頭的鍵 。從PHP 7.0.0開始提供。

JSON_ERROR_UTF16 (integer)
  //傳遞給json_encode()的JSON字符串中包含的unicode轉義中的單個未配對UTF-16代理。從PHP 7.0.0開始提供。
下面的常量能夠和 json_decode() 的 form 選項結合使用。

JSON_BIGINT_AS_STRING (integer)
  //將大數字編碼成原始字符原來的值。 自 PHP 5.4.0 起生效。

JSON_OBJECT_AS_ARRAY (integer)
  //將JSON對象解碼爲PHP數組。能夠經過調用第二個參數等於的json_decode()來自動添加此選項TRUE。從PHP 5.4.0開始提供。
<?php

//例
$arr = array('key'=>'中文/同時生效');
json_encode($arr,320);

JSON_HEX_TAG => 1
JSON_HEX_AMP => 2
JSON_HEX_APOS => 4
JSON_HEX_QUOT => 8
JSON_FORCE_OBJECT => 16
JSON_NUMERIC_CHECK => 32
JSON_UNESCAPED_SLASHES => 64
JSON_PRETTY_PRINT => 128
JSON_UNESCAPED_UNICODE => 256

JSON_ERROR_DEPTH => 1
JSON_ERROR_STATE_MISMATCH => 2
JSON_ERROR_CTRL_CHAR => 3

JSON_ERROR_SYNTAX => 4

JSON_ERROR_UTF8 => 5
JSON_OBJECT_AS_ARRAY => 1

JSON_BIGINT_AS_STRING => 2
相關文章
相關標籤/搜索