查看新版的PHP手册中JSON函数一节,JSON就增加了两个API,json_decode(),对一个json字符串进行解码,json_encode()是生成一个json字符串,我们就简单的测试一下。
构建如下PHP代码:
//对象
class JsonTest{
var $id = 1;
var $name = 'heiyeluren';
var $gender = '男';
}
$obj = new JsonTest;
echo json_encode($obj)."<br /> ";
//数字索引数组
$arr1 = array(1, 'heiyeluren', '男');
echo json_encode($arr1)."<br /> ";
//关联索引数组
$arr2 = array("id"=>1, "name"=>'heiyeluren', "gender"=>'男');
echo json_encode($arr2)."<br /> ";
//多维数字索引数组
$arr3 = array(array(1, 'heiyeluren', '男'), array(1, 'heiyeluren', '男'));
echo json_encode($arr3)."<br /> ";
//关联索引数组
$arr4 = array(array("id"=>1, "name"=>'heiyeluren', "gender"=>'男'), array("id"=>1, "name"=>'heiyeluren', "gender"=>'男'));
echo json_encode($arr4)."<br /> ";
?>
浏览器输出:
[1,"heiyeluren",""]
{"id":1,"name":"heiyeluren","gender":""}
[[1,"heiyeluren",""],[1,"heiyeluren",""]]
[{"id":1,"name":"heiyeluren","gender":""},{"id":1,"name":"heiyeluren","gender":""}]
按照JSON格式定义,我们可以发现上面的几个特点:
1. 纯的数字索引是按照JavaScript能够识别的数组来存储的
2. 关联索引数组是按照JavaScript对象的形式来构造的
3. 多维关联索引是按照外围是JavaScript数组,中间的索引数组是对象
4. 无法识别中文,所有的中文字符串显示为空