1. 程式人生 > >json_encode與json_decode的區別與用法

json_encode與json_decode的區別與用法

php json json_encode json_decode

//json_encode顧名思義json編碼,就是將數組或對象,編碼成json字符串的函數

$arr['a'] = 1;

$arr['b'] = 2;

var_dump(json_encode($arr));


class obj { }

$obj = new obj;

$obj->a = 1;

$obj->b = 2;

var_dump(json_encode($obj));


//這兩條打印結果是一樣的

//string '{"a":1,"b":2}' (length=13)


//而json_decode剛好相反,是將json字符串轉成數組或對象

//因為兩組打印結果一樣,所以我們任意取一組繼續下面的實驗

$json_str = json_encode($obj);

//現在使用json_decode來對這組json格式的字符串進行操作

//第一次不加第二參數

var_dump(json_decode($json_str));

//打印結果為對象

//object(stdClass)[3]

// public 'a' => int 1

// public 'b' => int 2


//第一次加第二參數

var_dump(json_decode($json_str,true));

//打印結果為數組

//array (size=2)

// 'a' => int 1

// 'b' => int 2


json_encode與json_decode的區別與用法