json格式解析

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、多个元素,多个数组之间用,隔开
*/


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值