JOSN语法以及和XML的比较
JSON 语法规则
JSON 键/值对 {"name":"iphoneX","price":9000}
在 JS 语言中,一切都是对象。因此,任何支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。但是对象和数组是比较特殊且常用的两种类型。 对象:对象在 JS 中是使用花括号包裹 {} 起来的内容,数据结构为 {key1:value1,key2:value2,…} 的键值对结构。在面向对象的语言中,key 为对象的属性,value 为对应的值。键名可以使用整数和字符串来表示。值的类型可以是任意类型。 数组:数组在 JS 中是方括号 [] 包裹起来的内容,数据结构为 [“java”,“javascript”,“vb”,…] 的索引结构。在 JS 中,数组是一种比较特殊的数据类型,它也可以像对象那样使用键值对,但还是索引使用得多。同样,值的类型可以是任意类型。 举例:简述玩过的几款游戏 {
"game":[ {"gamename":"王者荣耀","Level","30","type":"竞技"},{"gamename":"时空猎人","165",{"gamename":"植物大战僵尸","18","type":"休闲"} ] }
以下部分参考自百度百科 可读性 可扩展性 编码难度 解码难度 凡是这样可扩展的结构数据解析起来一定都很困难。 而如果不知道JSON的结构而去解析JSON的话,那简直是噩梦。费时费力不说,代码也会变得冗余拖沓,得到的结果也不尽人意。但是这样也不影响众多前台开发人员选择JSON。因为json.js中的toJSONString()就可以看到JSON的字符串结构。当然不是使用这个字符串,这样仍旧是噩梦。常用JSON的人看到这个字符串之后,就对JSON的结构很明了了,就更容易的操作JSON。 除了上述之外,JSON和XML还有另外一个很大的区别在于有效数据率。JSON作为数据包格式传输的时候具有更高的效率,这是因为JSON不像XML那样需要有严格的闭合标签,这就让有效数据量与总数据包比大大提升,从而减少同等数据流量的情况下,网络的传输压力 。 比较实例: <?xml version="1.0" encoding="utf-8"?>
<country>
<name>中国</name>
<province>
<name>黑龙江</name>
<cities>
<city>哈尔滨</city>
<city>大庆</city>
</cities>
</province>
<province>
<name>广东</name>
<cities>
<city>广州</city>
<city>深圳</city>
<city>珠海</city>
</cities>
</province>
</country>
JSON文件: {
"name": "中国","province": [{ "name": "黑龙江","cities": { "city": ["哈尔滨","大庆"] } },{ "name": "广东","cities": { "city": ["广州","深圳","珠海"] } } }
可以看到,JSON 简单的语法格式和清晰的层次结构明显要比 XML 容易阅读,并且在数据交换方面,由于 JSON 所使用的字符要比 XML 少得多,可以大大得节约传输数据所占用得带宽。 XML和JSON优缺点 XML的优缺点 JSON的优缺点 <1>.JSON的优点: A.数据格式比较简单,易于读写,格式都是压缩的,占用带宽小; B.易于解析,客户端JavaScript可以简单的通过eval()进行JSON数据的读取; C.支持多种语言,包括ActionScript,C,C#,ColdFusion,Java,JavaScript,Perl,PHP,Python,Ruby等服务器端语言,便于服务器端的解析; D.在PHP世界,已经有PHP-JSON和JSON-PHP出现了,偏于PHP序列化后的程序直接调用,PHP服务器端的对象、数组等能直接生成JSON格式,便于客户端的访问提取; E.因为JSON格式能直接为服务器端代码使用,大大简化了服务器端和客户端的代码开发量,且完成任务不变,并且易于维护。 <2>.JSON的缺点 A.没有XML格式这么推广的深入人心和喜用广泛,没有XML那么通用性; B.JSON格式目前在Web Service中推广还属于初级阶段。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |