JSON建构于两种结构:
1. “名称/值”对的集合(A collection of name/valuepairs)。不同的语言中,它被理解为对象(object),记录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。
2. 值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。数组里面只嵌套数组,则被嵌套的数组(即纯粹的二维数组)格式化后用一对[]将其括起来,详见例5---例8
//例1
echo json_encode(array("name"=>"zhangsan"));
//或者
$a=array("name"=>"zhangsan");
echo json_encode($a);
//结果:{"name":"zhangsan"}
//例2
echo json_encode(array('info'=>array("name"=>"zhangsan")));
//或者
$a= array('info'=>array("name"=>"zhangsan"));
echo json_encode($a);
//结果:{"info":{"name":"zhangsan"}}
//例3
echo json_encode(array('info'=>array("name"=>"zhangsan","age"=>25)));
//或者
$a= array('info'=>array("name"=>"zhangsan","age"=>25));echo json_encode($a);
//结果:{"info":{"name":"zhangsan","age":25}}
//例4
echo json_encode(array('info'=>array(array("name"=>"zhangsan"),array("name"=>"lisi"))));
//或者
$a= array('info'=>array(array("name"=>"zhangsan"),array("name"=>"lisi")));
echo json_encode($a);
//结果:{"info":[{"name":"zhangsan"},{"name":"lisi"}]}
//例5
echo json_encode(array('status'=>0,'info'=>array(array("name"=>"zhangsan"),array("name"=>"lisi"))));
//或者
$a= array('status'=>0,'info'=>array(array("name"=>"zhangsan"),array("name"=>"lisi")));
echo json_encode($a);
//结果:{"status":0,"info":[{"name":"zhangsan"},{"name":"lisi"}]}
//例6
echo json_encode(array('status'=>0,'info'=>array('name'=>'ww',array("name"=>"zs"),array("name"=>"ls"))));
//或者
$a= array('status'=>0,'info'=>array('name'=>'ww',array("name"=>"zs"),array("name"=>"ls")));
echo json_encode($a);
//结果:{"status":0,"info":{"name":"ww","0":{"name":"zs"},"1":{"name":"ls"}}}
//例7
echo json_encode(array('status'=>0,'info'=>array(array("name"=>"zs"),'name'=>'ww',array("name"=>"ls"))));
//或者
$a= array('status'=>0,'info'=>array(array("name"=>"zs"),'name'=>'ww',array("name"=>"ls")));
echo json_encode($a);
//结果:{"status":0,"info":{"0":{"name":"zs"},"name":"ww","1":{"name":"ls"}}}
//例8
echo json_encode(array('status'=>0,'info'=>array(array("name"=>"zs"),array("name"=>"ls"),"name"=>"ww"),
'info2'=>array(array("name"=>"zs"),array("name"=>"ls"))));
//或者
$a= array('status'=>0,'info'=>array(array("name"=>"zs"),array("name"=>"ls"),"name"=>"ww"),
'info2'=>array(array("name"=>"zs"),array("name"=>"ls")));
echo json_encode($a);
//结果:{"status":0,"info":{"0":{"name":"zs"},"1":{"name":"ls"},"name":"ww"},"info2":[{"name":"zs"},{"name":"ls"}]}
$a= array("zhangsan","lisi");
echo json_encode($a); echo "<hr>";//["zhangsan","lisi"]
$b= array('info'=>array("zhangsan","lisi"));
echo json_encode($b); echo "<hr>";//{"info":["zhangsan","lisi"]}
$c= array('info'=>array(array("zhangsan"),array("lisi")));
echo json_encode($c); echo "<hr>";//{"info":[["zhangsan"],["lisi"]]}
$d= array('info'=>array(array("name"=>"zhangsan"),array("name"=>"lisi")));
echo json_encode($d); echo "<hr>";//{"info":[{"name":"zhangsan"},{"name":"lisi"}]}
/*综上,
1、不论是{还是[,都是array。区别是{的数组是键值对,而[的数组只有值
2、多个元素,多个数组之间用,隔开
*/