您的位置:首页 > Web前端 > JavaScript

XML vs JSON 浅析

2015-09-11 23:32 681 查看

XML vs JSON 浅析

结构对比

XML

<courses>
<course>
<id>0001</id>
<name>Operating System</name>
<pic>0001.png</pic>
<count>20</count>
<content>有关操作系统的基础知识课程</content>
</course>
.....
</courses>


JSON

{
“name”:”A”,
“age”:30 ,
“address”:
{
“city”:”Beijing",
“street”:”Chaoyang",
“postcode”:10025
}
}


JSON数组的表示方式:

[{json对象},{json对象}]


定义

XML (eXtensible Markup Language) 可扩展标记语言。是一种用于标记电子文件使其具有结构性的标记语言。标记是指计算机能理解的信息符号,可以用于标记数据,定义数据类型等等,XML允许用户根据自己情况自定义标签及其语义。

JSON(JavaScript Object Notation) JavaScript对象表示法。是一种轻量级的数据交换格式,语法简易,语法规则如下:

数据在键值对中

数据由逗号分隔

花括号保存对象

方括号保存数组

优缺点对比

XML

优点

格式统一,符合规范。XML由严格的标签定义,每组标签都是按照
<xxx>
开始
<\xxx>
结束

可扩展性强,可以利用自定标签呈现任意的数据对象

处理复杂结构表现优异

数据表示上,可以利用多级标签清晰的呈现复杂结构的数据对象,即树的结构,且树已经有很多成熟的处理算法

数据解析上,XML常用的解析方法之一的SAX提供了事件驱动的处理方式,可以将一篇巨大的XML一点点呈现,不必一次性全部读入内存,而JSON必须要一次读入,这样对大数据的处理并不合适

广为流传,深入人心

这也是缺点,导致了XML的大量的误用和滥用。如移动端的数据传输,滥用XML会造成流量浪费

缺点

体积庞大,传输占用流量较多

解析不如JSON速度,要考虑各种各样的标签以及它们之间的父子关系

由于不同的解析方式,可能会产生大量的代码重复以适应多种解析方式

JSON

优点

轻量级格式,体积小,传输省流量

解析速度快

支持Java,PHP等多种语言,便于服务器端解析。JSON格式能够直接为服务器端代码使用, 大大简化了服务器端和客户端的代码开发量

缺点

对复杂数据对象描述能力较弱,Json在描述复杂数据对象时,大量的括号以及‘@’,‘#’等符号降低了可读性

推广程度不如XML久远

选择建议

在互联网数据传输中,如移动端和服务器间交互,可以考虑使用Json,节约流量

描述复杂数据对象时,建议使用XML;简单的数据对象可以使用Json
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  xml json