视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
ZendFramework处理Json数据方法
2020-11-27 19:50:13 责编:小采
文档

这篇文章主要介绍了Zend Framework处理Json数据方法,结合实例形式分析了zend framework针对json相关操作类的使用方法,需要的朋友可以参考下

本文实例讲述了Zend Framework处理Json数据的方法。分享给大家供大家参考,具体如下:

JSON分隔符及意义

{} 用于实现对象的包含,对象都包含在大括号中
, 逗号用于分隔对象的不同属性,或者数组的元素
[] 用于存放数组,数组将存放在中括号中
: 用于表示键/值对的值,冒号前为键,冒号后为该键的值

JSON示例

使用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
 )
 )
)

小结:

Json的使用还是比较简单的,在接口应用上需要Json。它可以在不同的语言用。可以灵活的传递数据。作用与XML类似,但是比XML要节省带宽。

下载本文
显示全文
专题