《PHP教程:Zend Framework处理Json数据方法详解》要点:
本文介绍了PHP教程:Zend Framework处理Json数据方法详解,希望对您有用。如果有疑问,可以联系我们。
本文实例讲述了Zend Framework处理Json数据的方法.分享给大家供大家参考,具体如下:PHP实例
JSON分隔符及意义PHP实例
{} 用于实现对象的包含,对象都包含在大括号中
, 逗号用于分隔对象的不同属性,或者数组的元素
[] 用于存放数组,数组将存放在中括号中
: 用于表示键/值对的值,冒号前为键,冒号后为该键的值PHP实例
JSON示例PHP实例
- {
- "addressbook":{
- "name":"Mary Lebow",
- "address":{
- "street":"5 Main Street",
- "city":"San Diego,CA",
- "zip":91912
- },
- "phoneNumbers":[
- "619 332-3452",
- "664 223-4667"
- ]
- }
- }
使用JSONPHP实例
语法:$json = Zend_Json::encode($phpNative);
说明:其中,参数$phpNative为PHP常见的数据类型,可以是数组、对象或者其他类型的数据.
函数返回值$json为符合JSON格式的一个字符串.
PHP实例
示例:PHP实例
- <?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>";
结果为:PHP实例
- 临时数组内容为:
- 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解码为普通数据PHP实例
语法:$phpNative = Zend_Json::decode($json);PHP实例
示例:PHP实例
- <?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>";
输出结果为:PHP实例
- 解码前为:
- {
- "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
- )
- )
- )
说明:PHP实例
在使用此方法对JSON内容进行解码时,可以将其解码为数组,也可以将其解码为对象.PHP实例
具体有Zend_Json::decode()方法的第二个参数决定.PHP实例
语法格式如下PHP实例
phpNative=ZendJson::decode(phpNative=ZendJson::decode(json,Zend_Json::TYPE_OBJECT);PHP实例
上个例子解码为对象后的结果为PHP实例
- 解码后为:
- 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
- )
- )
- )
小结:PHP实例
Json的使用还是比较简单的,在接口应用上需要Json.它可以在不同的语言中共用.可以灵活的传递数据.作用与XML类似,但是比XML要节省带宽.PHP实例
PS:针对json的各种常用操作,还可参考使用本站相关json在线工具:PHP实例
在线JSON代码检验、检验、美化、格式化工具:
http://tools.jb51.net/code/jsonPHP实例
JSON在线格式化工具:
http://tools.jb51.net/code/jsonformatPHP实例
在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljsonPHP实例
json代码在线格式化/美化/压缩/编辑/转换工具:
http://tools.jb51.net/code/jsoncodeformatPHP实例
在线json压缩/转义工具:
http://tools.jb51.net/code/json_yasuo_transPHP实例
C语言风格/HTML/CSS/json代码格式化美化工具:
http://tools.jb51.net/code/ccode_html_css_jsonPHP实例
更多关于zend相关内容感兴趣的读者可查看本站专题:《Zend FrameWork框架入门教程》、《php优秀开发框架总结》、《Yii框架入门及常用技巧总结》、《ThinkPHP入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》PHP实例
希望本文所述对大家基于Zend Framework框架的PHP程序设计有所帮助.PHP实例
转载请注明本页网址:
http://www.vephp.com/jiaocheng/2447.html