您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Zend Framework如何處理Json數據,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
具體如下:
JSON分隔符及意義
{} 用于實現對象的包含,對象都包含在大括號中
, 逗號用于分隔對象的不同屬性,或者數組的元素
[] 用于存放數組,數組將存放在中括號中
: 用于表示鍵/值對的值,冒號前為鍵,冒號后為該鍵的值
JSON示例
{ "addressbook":{ "name":"Mary Lebow", "address":{ "street":"5 Main Street", "city":"San Diego,CA", "zip":91912 }, "phoneNumbers":[ "619 332-3452", "664 223-4667" ] } }
使用JSON
語法:$json = Zend_Json::encode($phpNative);
說明:其中,參數$phpNative為PHP常見的數據類型,可以是數組、對象或者其他類型的數據。
函數返回值$json為符合JSON格式的一個字符串。
示例:
<?php require_once("Zend/Json.php"); $temp = array( "a"=>0, "b"=>1, "c"=>array( "c-1"=>21, "c-2"=>22, "c-3"=>23, ), "d"=>3 ); $json = Zend_Json::encode($temp); echo "臨時數組內容為:"; echo "<pre>"; print_r($temp); echo "</pre>"; echo "轉換為JSON格式內容為:"; echo "<pre>"; print_r($json); echo "</pre>";
結果為:
臨時數組內容為: Array ( [a] => 0 [b] => 1 [c] => Array ( [c-1] => 21 [c-2] => 22 [c-3] => 23 ) [d] => 3 ) 轉換為JSON格式內容為: {"a":0,"b":1,"c":{"c-1":21,"c-2":22,"c-3":23},"d":3}
將JSON解碼為普通數據
語法:$phpNative = Zend_Json::decode($json);
示例:
<?php require_once("Zend/Json.php"); $json = "{ \"addressbook\":{ \"name\":\"zhangsan\", \"address\":{ \"street\":\"Chang an jie\", \"city\":\"BeiJing\", \"zip\":100001 }, \"phoneNumbers\":[ \"010-12345678\", \"010-11111111\" ] } }"; echo "解碼前為:"; echo "<pre>"; print_r($json); echo "</pre>"; $native = Zend_Json::decode($json); echo "解碼后為:"; echo "<pre>"; print_r($native); echo "</pre>";
輸出結果為:
解碼前為: { "addressbook":{ "name":"zhangsan", "address":{ "street":"Chang an jie", "city":"BeiJing", "zip":100001 }, "phoneNumbers":[ "010-12345678", "010-11111111" ] } } 解碼后為: Array ( [addressbook] => Array ( [name] => zhangsan [address] => Array ( [street] => Chang an jie [city] => BeiJing [zip] => 100001 ) [phoneNumbers] => Array ( [0] => 010-12345678 [1] => 010-11111111 ) ) )
說明:
在使用此方法對JSON內容進行解碼時,可以將其解碼為數組,也可以將其解碼為對象。
具體有Zend_Json::decode()方法的第二個參數決定。
語法格式如下
phpNative=ZendJson::decode(phpNative=ZendJson::decode(json,Zend_Json::TYPE_OBJECT);
上個例子解碼為對象后的結果為
解碼后為: stdClass Object ( [addressbook] => stdClass Object ( [name] => zhangsan [address] => stdClass Object ( [street] => Chang an jie [city] => BeiJing [zip] => 100001 ) [phoneNumbers] => Array ( [0] => 010-12345678 [1] => 010-11111111 ) ) )
關于“Zend Framework如何處理Json數據”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。