php中json類是一個非常重要的類,它被廣泛的使用在各種web應用的開發中。當網頁與后臺進行數據交換時,json格式的數據是一種非常好用的數據格式,因為可以方便的進行解析,簡單易讀,本文將詳細介紹php中json類的使用。
首先我們需要創建一個數組,將要使用json編碼成json字符串。下面的例子演示了如何創建一個數組,并用json_encode函數將它編碼成json字符串。
<?php
//定義數組
$arr = array('name'=>'tom','age'=>23,'sex'=>'male');
//編碼json數據
$json_str = json_encode($arr);
echo $json_str;
//輸出:{"name":"tom","age":23,"sex":"male"}
?>
可以看到,json_encode將數組按照json格式進行編碼,生成了一個json字符串,并且每項數據自動添加了引號。
接下來我們將演示如何將json字符串解析成php數組對象。下面的例子演示了如何將一個json字符串解析成一個php數組。<?php
//定義json字符串
$json_str = '{"name":"tom","age":23,"sex":"male"}';
//解析json數據
$arr = json_decode($json_str,true);
print_r($arr);
//輸出:Array ( [name] => tom [age] => 23 [sex] => male )
?>
可以看到,json_decode函數將json字符串解析成了一個php數組。同樣的,如果第二個參數設置為false,那么將解析成php對象。
在一些場景下,我們需要手動拼接json字符串,來實現一些特定的結果。下面的例子演示了如何手動拼接一個json字符串。<?php
$json_str = '{';
$json_str .= '"name":"tom",';
$json_str .= '"age":23,';
$json_str .= '"sex":"male"';
$json_str .= '}';
echo $json_str;
//輸出:{"name":"tom","age":23,"sex":"male"}
?>
可以看到,我們手動拼接了一個與第一個例子效果一樣的json字符串。需要注意的是,json標準是嚴格的,如果json格式不合法,那么json_decode函數將無法解析出來。
在實際應用中,json的使用就比較多了,如網頁向后臺請求json數據,后臺向網頁返回json數據等等,其實本質上都是在使用php中json類進行操作的。如果相對json類進行更深入的學習,可以研究json類中的其他函數以及更高級的JSON RPC遠程調用等相關話題,歡迎大家去關注。