數組轉JSON
PHP json_encode() 用於對變量進行 JSON 編碼,該函數如果執行成功返回 JSON 數據,否則返回 FALSE 。
JSON轉數組
PHP json_decode() 函數用於對 JSON 格式的字符串進行解碼,並轉換為 PHP 變量。
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5); echo json_encode($arr);
結果: {"a":1,"b":2,"c":3,"d":4,"e":5}
反之亦然。
第三方接口解析(stdClass Object轉array)
最近開發商城,使用到了物流的第三方API接口的JSON數據,往往單純通過json_decode方法解析獲得得數值一般並非數組,
而是帶有stdClass Objec的對象字符串,這時如果我們想獲取相應的PHP數組時,需通過以下幾種方法來獲取。
//PHP stdClass Object轉array function object_array($array) { if(is_object($array)) { $array = (array)$array; } if(is_array($array)) { foreach($array as $key=>$value) { $array[$key] = object_array($value); } } return $array; }
因為json_decode()函數可以接受兩個參數:
當 $data= json_decode($object); //得到的是 object 上面數據類型。
當 $data= json_decode($object, ture); //得到的則是數組。
$data= json_decode($json, ture);
本人使用的是第二種,簡單也方便,打印數據
print_array($data);
這樣就和平常的數組一樣了,也方便使用了,例:
echo $data['data'][0]['traces'][0]['desc'];//[上海市] [嘉定]的震徽電子已收件 電話:暫無