JSON数据的语法规则
1、数据以键值对的形式
2、数据由逗号分隔
3、花括号保存对象
4、方括号保存数组
以PHP的数组为例:
<?php ???$arr = array( ???????????????"aaaa", ???????????????"bbbb", ???????????????"cccc"=>array( ???????????????????????????"dddd", ???????????????????????????"eeee"=>array( ???????????????????????????????????????"xxxxx", ???????????????????????????????????????"yyyyy" ???????????????????????????????????), ???????????????????????????"ffff"=>array( ???????????????????????????????????????"ggggg", ???????????????????????????????????????"hhhh", ???????????????????????????????????????"iiiii"=>array( ???????????????????????????????????????????????????"jjjjj", ???????????????????????????????????????????????????"kkkkk", ???????????????????????????????????????????????????"lllll" ???????????????????????????????????????????????) ???????????????????????????????????) ???????????????????????) ???????????); ???print_r($arr)."\n"; ???print_r(json_encode( $arr ));?>
运行:
Array( ???[0] => aaaa ???[1] => bbbb ???[cccc] => Array ???????( ???????????[0] => dddd ???????????[eeee] => Array ???????????????( ???????????????????[0] => xxxxx ???????????????????[1] => yyyyy ???????????????) ???????????[ffff] => Array ???????????????( ???????????????????[0] => ggggg ???????????????????[1] => hhhh ???????????????????[iiiii] => Array ???????????????????????( ???????????????????????????[0] => jjjjj ???????????????????????????[1] => kkkkk ???????????????????????????[2] => lllll ???????????????????????) ???????????????) ???????)){"0":"aaaa","1":"bbbb","cccc":{"0":"dddd","eeee":["xxxxx","yyyyy"],"ffff":{"0":"ggggg","1":"hhhh","iiiii":["jjjjj","kkkkk","lllll"]}}}
上面例子中,当不同深度的数组元素的类型不同时(有的为字符串值,有的又是一个数组)。
虽然键值对是以冒号分隔,冒号的左边毫无疑问是 数组的索引 或者 关联数组的key,而右边呢?什么时候直接用双引号来将值括起来?什么时候该用花括号?什么时候该用方括号?
可以看上面的例子就可以总结出来,因为总结绕来绕去,所以就不写了,一看上面代码的运行结果就能明白了。
JSON数据格式解析
原文地址:https://www.cnblogs.com/-beyond/p/8460472.html