php的json和數組轉換

1、將數組變爲json字符串:json_encode($arr [,$options=0]);//$options爲可選參數,默認爲0

一般來說使用json_encode($arr)即可。但是當有特殊需求時,例如數據中包含文件絕對路徑,像“/da1/test/123.php”,直接json_encode會把正斜槓“/”轉義成“\/”,

這時候就需要添加特殊參數到options裏了,options可選參數如下:

JSON_HEX_TAG (integer)
所有 < 和 > 轉義成 \u003C 和 \u003E。 

JSON_HEX_AMP (integer)
所有 & 轉義成 \u0026。

JSON_HEX_APOS (integer)
所有 ' 轉義成 \u0027。 

JSON_HEX_QUOT (integer)
所有 " 轉義成 \u0022。 

JSON_FORCE_OBJECT (integer)
使一個非關聯數組輸出一個類(Object)而非數組。 在數組爲空並且接受者需要一個類(Object)的時候尤其有用。 

JSON_NUMERIC_CHECK (integer)
將所有數字字符串編碼成數字(numbers),例如“1”編譯成 1
JSON_BIGINT_AS_STRING (integer)將大數字編碼成原始字符原來的值。 
JSON_PRETTY_PRINT (integer)
用空白字符格式化返回的數據。使其更加美觀

JSON_UNESCAPED_SLASHES (integer)
不要轉義 /,不加這個option會把“/”轉義成“\/” 

JSON_UNESCAPED_UNICODE (integer)
以字面編碼多字節 Unicode 字符(默認是編碼成 \uXXXX)。

2、將json字符串變爲數組:json_decode($json_str[,assoc=false]);/$json_str是對應的json字符串,assoc爲可選參數,默認爲false

可選參數如下:

assoc爲false時,json_decode會返回一個對象(object),而非數組,可以通過$obj->attr;的方式訪問對象$obj中名爲attr的屬性。
assoc爲true時,json_decode返回一個數組(array),可以通過array[key]的方式訪問數組array中對應鍵爲key的值




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章