PHP構造JSon資料的兩種方法

2021-07-08 13:28:09 字數 2398 閱讀 3678

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...