ZendFramework学习第二章(Json)
使用Zendframework中的Zend_Json组件可以实现PHP对象与JSON对象之间的转换。
json是一种轻量级的数据交换格式。
轻量级:
1.这种格式不需要特定的容器。
2.运行时占用很少资源。
Json的分隔符及意义:
分隔符 意义
{ } 用于实现对象的包含,对象都包含在大括号内
, 逗号用于分割对象的不同属性,或者数组的元素
[ ] 用于存放数组,数组将存放在中括号中
: 用于表示键/值对的值,冒号前为键,冒号后边就是该键的值
Json这一块呢没多少重点,无非就是三个方法:
将数组对象转化为Json格式-----------Zend_Json::encode();
将Json转化为普通数组-----------------Zend_Json::decode();
将Json转化为对象类型-----------------Zend_Json::decode($json,Zend_Json::TYPE_OBJECT);
下边给出一个我写出的例子,同样,大家注意编码问题,将文件保存为utf-8格式哦亲:
//将数据编码转化为json
//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 " ";
print_r($temp);
echo "<p>";
echo "转换为json格式内容为:";
print_r($json);
echo "<br>输出将$json解码后的对象hah :";
$vative1=Zend_Json::decode($json,Zend_Json::TYPE_OBJECT);
print_r($vative1);
//将json解码为普通数据
$json1="{
\"addressbook\":{
\"name\":\"zhangsan\",
\"adress\":{
\"street\":\"长安街\",
\"city\":\"北京\",
\"zip\":100001
},
\"phoneNumbers\":[
\"010-123456\",
\"010-321654\"
]
}
}";
echo "<br><br><br>解码前为:";
print_r($json1);
echo "<p>";
$native=Zend_Json::decode($json1);
echo "解码后为:";
print_r($native);