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,而右边呢?什么时候直接用双引号来将值括起来?什么时候该用花括号?什么时候该用方括号?
可以看上面的例子就可以总结出来,因为总结绕来绕去,所以就不写了,一看上面代码的运行结果就能明白了。