天天看點

深度剖析:PHP中json_encode與json_decode

一、json_encode() 對變量進行JSON編碼,

文法: json_encode ( $value [, $options = 0 ] )

注意:1、$value為要編碼的值,且該函數隻對UTF8編碼的資料有效;

      2、options:由以下常量組成的二進制掩碼:JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP,                                       JSON_HEX_APOS, JSON_NUMERIC_CHECK,JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT;

      3、第二個參數一般不需要;

      4、json資料其實就是一個string,可以用var_dump()列印出來看資料類型;

      5、執行成功傳回JSON資料,否則傳回FALSE。

示例:

  浏覽器列印出的結果如下:

二、json_decode() 對JSON資料進行解碼,轉換為PHP變量

文法:json_decode ($json [,$assoc = false [, $depth = 512 [, $options = 0 ]]])

注意:1、$json 為待解碼的資料,必須為utf8編碼的資料;

      2、$assoc 值為TRUE時傳回數組,FALSE時傳回對象;

      3、$depth 為遞歸深度;

      4、$option 二進制掩碼,目前隻支援 JSON_BIGINT_AS_STRING;

      5、一般隻用前面兩個參數,如果要資料類型的資料要加一個參數true。

深度剖析:PHP中json_encode與json_decode
深度剖析:PHP中json_encode與json_decode

浏覽器列印出的結果如下:

兩個結果看起來沒多大差別,但調用裡面的元素時,array和obj的方式是不同的。  

深度剖析:PHP中json_encode與json_decode
深度剖析:PHP中json_encode與json_decode

   列印結果如下:

如何聯系我:【萬裡虎】www.bravetiger.cn

【QQ】3396726884 (咨詢問題100元起,幫助解決問題500元起)

【部落格】http://www.cnblogs.com/kenshinobiy/