jQueru中数据交换格式XML和JSON对比

1.简介:

  XML:extensible markup language,一种类似于HTML的语言,他没有预先定义的标签,使用DTD(document type definition)文档类型定义来组织数据;格式统一,跨平台和语言,早已成为业界公认的标准。具体的可以问Google或百度。相比之JSON这种轻量级的数据交换格式,XML可以称为重量级的了。

  JSON : JavaScript Object Notation 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming Language , Standard ECMA-262 3rd Edition - December 1999 的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。

2.对比

1)数据交换格式中XML是重量级的,JSON是轻量级的。这个体现在解析上。

  XML目前设计了三种解析方式:DOM、SAX和pull;

  SAX不需要整个读入文档就可以对解析出的内容进行处理,是一种逐步解析的方法。程序也可以随时终止解析。这样,一个大的文档就可以逐步的、一点一点的展现出来,所以SAX适合于大规模的解析。这一点,JSON目前是做不到得。

  所以,JSON和XML的轻/重量级的区别在于:JSON只提供整体解析方案,而这种方法只在解析较少的数据时才能起到良好的效果;而XML提供了对大规模数据的逐步解析方案,这种方案很适合于对大量数据的处理。

2)数据交换格式比较之关于数据格式编码及解析的难度:

  在编码上,虽然XML和JSON都有各自的编码工具,但是JSON的编码要比XML简单,即使不借助工具,也可以写出JSON代码,但要写出好的XML代码就有点困难;与XML一样,JSON也是基于文本的,且它们都使用Unicode编码,且其与数据交换格式XML一样具有可读性。

  主观上来看,JSON更为清晰且冗余更少些。JSON网站提供了对JSON语法的严格描述,只是描述较简短。从总体来看,XML比较适合于标记文档,而JSON却更适于进行数据交换处理。

  在解析上,在普通的web应用领域,开发者经常为XML的解析伤脑筋,无论是服务器端生成或处理XML,还是客户端解析XML,都常常导致复杂的代码,极低的开发效率。

同XML或HTML片段相比,数据交换格式JSON 提供了更好的简单性和灵活性。

  JSON格式目前在Web Service中推广还属于初级阶段,没有XML那么通用性。在web serivice应用中,至少就目前来说XML仍有不可动摇的地位。

时间: 2024-11-09 01:01:59

jQueru中数据交换格式XML和JSON对比的相关文章

数据交换格式XML和JSON对比

1.简介: XML:extensible markup language,一种类似于HTML的语言,他没有预先定义的标签,使用DTD(document type definition)文档类型定义来组织数据:格式统一,跨平台和语言,早已成为业界公认的标准.具体的可以问Google或百度.相比之JSON这种轻量级的数据交换格式,XML可以称为重量级的了. JSON : JavaScript Object Notation 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成.它基

【学习】006数据交换格式与SpringIOC底层实现

课程目标 XML和JSON Java反射机制 手写SpringIOC 什么是数据交换格式 客户端与服务器常用数据交换格式xml.json.html 数据交换格式用场景 移动端(安卓.IOS)通讯方式采用http协议+JSON格式 走restful风格. 很多互联网项目都采用Http协议+JSON 因为xml比较重WebService服务采用http+xml格式 银行项目使用比较多 数据交换格式 JSON简单使用 什么是JSON JSON(JavaScript Object Notation)是一

iOS 中 XML 数据交换格式

     XML 是一种自描述的数据交换格式,但是 XML 的数据交换格式并没有 JSON 来的轻便,但是无可否认的是,XML 的应用范围也是非常广泛的,比如在 ROS(一个开源机器人操作系统)中利用 XML 来描述包的依赖关系等,当然还有很多了.      对于 XML 文档操作包括了"读"与"写",读入 XML 文档并分析的过程称为"解析" XML 文档,"解析" XML 文档在实际开发中是占很大比重的.      读写

iOS 中 JSON 数据交换格式

     JSON (JavaScript Object Notation)是一种轻量级的数据交换格式.JSON 的具体教程,可以参见 JSON 中国:http://www.json.org.cn/index.htm ,当然还有 JSON 在线校验格式化工具:http://www.bejson.com/ ,希望深入学习 JSON 可以参考其他教程.JSON 的轻量级是相对于 XML 文档结构而言的,描述项目字符少,所以描述相同的数据所需的字符个数要少,当然传输的速度就会提高而流量也会减少.  

两种常用的数据交换格式:XML和JSON

不同编程语言之间的数据传输,需要一种通用的数据交换格式,它需要简洁.易于数据储存.快速读取,且独立于各种编程语言.我们往往传输的是文本文件,比如我们都知道的csv(comma seperated values)格式. 而在互联网上,传输数据往往有很多层次的结构,并非矩阵形态(m×n)那么简单.常见的有xml.json.yaml等等.其中,yaml是"yaml ain't markup language"的递归缩写,即各单词首字母组合恰为第一个词:而yaml也可理解成yet anothe

在.NET使用JSON作为数据交换格式

我们知道在.NET中我们有多种对象序列化的方式,如XML方式序列化.Binary序列化,其中XML序列化是一种比较通用的在各语言之间传递数据的方式.除了这两种序列化方式之外,在.NET中还可以使用JSON序列化.JSON(JavaScript Object Notation)是一种轻量级轻量级的数据交换格式,并且它独立于编程语言,与XML序列化相比,JSON序列化后产生的数据一般要比XML序列化后数据体积小,所以在Facebook等知名网站中都采用了JSON作为数据交换方式.在.NET中有三种常

在.NET使用JSON作为数据交换格式【转】

http://www.cnblogs.com/zhoufoxcn/archive/2011/03/16/2515611.html 我们知道在.NET中我们有多种对象序列化的方式,如XML方式序列化.Binary序列化,其中XML序列化是一种比较通用的在各语言之间传递数据的方式.除了这两种序列化方式之外,在.NET中还可以使用JSON序列化.JSON(JavaScript Object Notation)是一种轻量级轻量级的数据交换格式,并且它独立于编程语言,与XML序列化相比,JSON序列化后产

在.NET使用JSON作为数据交换格式(转)

我们知道在.NET中我们有多种对象序列化的方式,如XML方式序列化.Binary序列化,其中XML序列化是一种比较通用的在各语言之间传递数据的方式.除了这两种序列化方式之外,在.NET中还可以使用JSON序列化.JSON(JavaScript Object Notation)是一种轻量级轻量级的数据交换格式,并且它独立于编程语言,与XML序列化相比,JSON序列化后产生的数据一般要比XML序列化后数据体积小,所以在Facebook等知名网站中都采用了JSON作为数据交换方式.在.NET中有三种常

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式

JSON JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等). 这些特性使JSON成为理想的数据交换语言.易于人阅读和编写,同时也易于机器解析和生成. J