本文實例講述了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格式的一個字符串。
示例:
<?phprequire_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);
示例:
<?phprequire_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 ) ))
小結:
Json的使用還是比較簡單的,在接口應用上需要Json。它可以在不同的語言中共用。可以靈活的傳遞數據。作用與XML類似,但是比XML要節省帶寬。
希望本文所述對大家基于Zend Framework框架的PHP程序設計有所幫助。
新聞熱點
疑難解答
圖片精選