在開發網站的過程中,經常需要將數據以一種易于處理的方式傳輸。這時候,JSON變成了一種非常常用的數據格式。
那么,PHP中如何對JSON進行轉換呢?
首先,利用json_encode()函數可以將PHP數組轉換成JSON格式的字符串:
$students = array( array('name'=>'Tom', 'age'=>20, 'sex'=>'male'), array('name'=>'Linda', 'age'=>19, 'sex'=>'female'), array('name'=>'Jack', 'age'=>21, 'sex'=>'male') ); $json_str = json_encode($students); echo $json_str;
運行結果為:
[ {"name":"Tom","age":20,"sex":"male"}, {"name":"Linda","age":19,"sex":"female"}, {"name":"Jack","age":21,"sex":"male"} ]
可以看到,json_encode()函數將PHP數組按照JSON格式轉換成功。
同樣地,可以利用json_decode()函數將JSON字符串轉換成PHP數組:
$json_str = ' [ {"name":"Tom","age":20,"sex":"male"}, {"name":"Linda","age":19,"sex":"female"}, {"name":"Jack","age":21,"sex":"male"} ] '; $arr = json_decode($json_str, true); print_r($arr);
運行結果為:
Array ( [0] =>Array ( [name] =>Tom [age] =>20 [sex] =>male ) [1] =>Array ( [name] =>Linda [age] =>19 [sex] =>female ) [2] =>Array ( [name] =>Jack [age] =>21 [sex] =>male ) )
可以看到,json_decode()函數將JSON字符串按照PHP數組格式轉換成功。
除了將JSON格式的字符串轉換成PHP數組,還可以將JSON格式的字符串轉換成PHP對象:
$json_str = ' { "name": "Tom", "age": 20, "sex": "male" } '; $obj = json_decode($json_str); echo $obj->name; echo $obj->age; echo $obj->sex;
運行結果為:
Tom 20 male
可以看到,json_decode()函數按照PHP對象格式將JSON字符串轉換成功。
還需要注意的是,在使用json_encode()函數轉換PHP數組或對象成JSON格式的字符串時,需要注意字符編碼的問題。比如,PHP文件的編碼為UTF-8,而中文字符的編碼可能為GBK,這時候需要進行字符轉換,將中文字符編碼轉換為UTF-8編碼,否則在轉換JSON時會出現亂碼。
綜上,利用PHP自帶的json_encode()和json_decode()函數可以輕松地將PHP數組或對象轉換成JSON格式,并且也可以將JSON格式的字符串轉換成PHP數組或對象。
上一篇php js加載
下一篇8188eu macos