在PHP中可以通過“json_encode()”和“json_decode()”函數(shù)對json進(jìn)行操作,其語法分別是“json_encode($arr);”和“json_decode($json)”。
成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供封丘網(wǎng)站建設(shè)、封丘做網(wǎng)站、封丘網(wǎng)站設(shè)計(jì)、封丘網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、封丘企業(yè)網(wǎng)站模板建站服務(wù),十多年封丘做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
推薦:《PHP視頻教程》
從5.2版本開始,PHP原生提供json_encode()和json_decode()函數(shù),前者用于編碼,后者用于解碼。
json_encode()
該函數(shù)主要用來將數(shù)組和對象,轉(zhuǎn)換為json格式。
代碼如下:
$arr = array ('a'=>'a','b'=>'b','c'='c','d'=>'d','e'='e'); echo json_encode($arr);
輸出結(jié)果:
json只接受utf-8編碼的字符,json_encode()的參數(shù)必須是utf-8編碼。
class person { public $name; public $age; public $height; function __construct($name,$age,$height) { $this->name = $name; $this->age = $age; $this->height = $height; } } $obj = new person("zhangsan",20,100); $foo_json = json_encode($obj); echo $foo_json;
輸出結(jié)果:
當(dāng)類中的屬性為私有變量的時(shí)候,則不會輸出。
json_decode()
該函數(shù)用于將json文本轉(zhuǎn)換為相應(yīng)的PHP數(shù)據(jù)結(jié)構(gòu)。
代碼如下:
$json = '{"a":"hello","b":"world","c":"zhangsan","d":20,"e":170}'; var_dump(json_decode($json));
輸出結(jié)果:
通常情況下,json_decode()總是返回一個(gè)PHP對象。
轉(zhuǎn)成數(shù)組的:
代碼如下:
$json = '{"a":"hello","b":"world","c":"zhangsan","d":20,"e":170}'; var_dump(json_decode($json,ture));