php構造
json
資料的方式有兩種,下面我就用慕課網的乙個例子來用這兩個方法都構造一下。
我們需要構造出如下的json
資料:
,]},
,]}]
}
這兩種方法如下:
1.使用陣列
array
的方法構造:
<?php
$arr = array();
$arr['result'] = 1;
$arr['persondata'][0]['name']="nate";
$arr['persondata'][0]['age'] = 12;
$arr['persondata'][0]['url'] = "";
$arr['persondata'][0]['schoolinfo'][0]['school_name']="清華";
$arr['persondata'][0]['schoolinfo'][1]['school_name']="北大";
$arr['persondata'][1]['name']="jack";
$arr['persondata'][1]['age'] = 12;
$arr['persondata'][1]['url'] = "";
$arr['persondata'][1]['schoolinfo'][0]['school_name']="清華";
$arr['persondata'][1]['schoolinfo'][1]['school_name']="北大";
$jsonobj = json_encode($arr);
echo $jsonobj;
?>
這種方法雖然**量比較小,但是看起來很亂,沒有結構可言。
2.使用物件分裝之後再轉換成
json
:
<?php
class result
public function getresult()
public function setpersondata($persondata)
public function getpersondata()
}class persondata
public function getname()
public function setage($age)
public function getage()
public function seturl($url)
public function geturl()
public function setschoolinfo($schoolinfo) }
class schoolinfo
}$schoolinfo = array();
$schoolinfo[0] = new schoolinfo("清華");
$schoolinfo[1] = new schoolinfo("北大");
$res = new result();
$res->setresult(1);
$persondata1 = new persondata();
$persondata1->setname("nate");
$persondata1->setage(12);
$persondata1->seturl("");
$persondata1->setschoolinfo($schoolinfo);
$persondata2 = new persondata();
$persondata2->setname("jack");
$persondata2->setage(20);
$persondata2->seturl("");
$persondata2->setschoolinfo($schoolinfo);
$persondata = array();
$persondata[0] = $persondata1;
$persondata[1] = $persondata2;
$res->setpersondata($persondata);
$objjson = json_encode($res);
echo $objjson;
//print_r($res);
?>
這種方法雖然**量比較大(因 為要建立類~~),但是看起來結構清晰了很多,這裡要注意的是,json只能自動獲取公共的資料,也就是public修飾的資料域,所以其實沒必要為每個 資料域設定get方法和set方法,上面我設定了這些方法是因為開始的時候不知道,結果輸出結果是空的時候我才發現,所以這裡就沒有刪掉,留下來做個筆 記~
JSON資料的生成的兩種方式
2014.8.12新增 使用谷歌的第三方庫gson會更容易。json檢視工具 json viewer,可以很好的檢視json格式的資料,方便json資料的生成 json中 value 的型別包括 jsonarray jsonobject boolean number string null 或者預設...
Java解析Json資料的兩種方式
json資料解析的有點在於他的體積小,在網路上傳輸的時候可以更省流量,所以使用越來越廣泛,下面介紹使用jsonobject和jsonarray的兩種方式解析json資料。使用以上兩種方式解析json均需要依賴json lib.jar開發包使用依賴包 1 jsonobject 使用jsonobject...
JSON的兩種解析方式
一.將需要轉換的物件轉換成json物件 1.首先建立json物件 gson gson new gson 2.建立物件 以book類為例 book b new book 3.轉換 string s g.tojson b 此時得到的s即是json的字串 二.將json物件轉換成需要的物件 1.首先建立j...