代码改变世界

JSON: The Fat-Free Alternative to XML

2012-08-14 19:05  javaspring  阅读(186)  评论(0编辑  收藏  举报

JSON: The Fat-Free Alternative to XML

JSON:丰富而免费的XML替代品

 (这个标题这么翻译,不知道对不对,呵呵)

 

可扩展标记语言(XML)是源自标准通用标记语言(SGML)的文本格式。SGML相比,XML很简单。超文本标记语言(HTML),通过比较,甚至更简单。即便如此,好HTML参考书,一英寸厚。这是因为组织文件的格式和结构是一个复杂的业务。

 

围绕XML的热点大多是围绕一个新的角色,一个可以与之互换的数据序列化格式。 XML作为数据表示语言提供了两个巨大的优势:

 

1它是基于文本的。

2它是平台独立的

 

比其他的数据交换格式而言,这些优势使独立应用达到更高的水平。事实上,XML已经是一个W3C标准。

 

不幸的是,XML不适合数据交换,就像一把扳手是不适合驾驶的手指。它承载了很多的行李,和大多数编程语言的数据模型不匹配。当大多数程序员第一次看到XML,他们是多么丑陋和低效的,令人震惊。事实证明,第一反应是正确的。还有另一种文字符号,具有XML的所有优势,但更适合于数据交换。这符号是JavaScript对象符号(JSON)。

 

基于XML的最明智的(见例如xmlsuck.org)建议,XML作为数据交换格式存在大问题,但这些缺点是互操作性和开放性的利益补偿

 

JSON的互操作性和开放承诺提供同样的好处,但没有同样的缺点。

 

让我们来比较XML和JSONXML社区认为重要的属性。

 

来自http://www.simonstl.com/articles/whyxml.htm

 

简单

XML比SGML简单,但是JSON比XML要简单得多。 JSON有一个更简单的语法,更直接地在现代编程语言中使用的数据结构和地图。

 

可扩展性

JSON是不可扩展的,因为它并不需要。 JSON是一个文档标记语言,所以它是没有必要来定义新的标签或属性来代表数据。

 

互通性

JSON作为XML的互操作性潜力。

 

开放

JSON至少是跟XML一样的开放,或许因为它不是在企业/政治标准化斗争的中心。

 

来自http://www.karto.ethz.ch/neumann/caving/cavexml/why_xml.html

 

总的来说,下面是XML的一些优势。

 

XML是人类可读

对于人来说,JSON比XML更易于阅读。也容易写。它也更容易为机器读写。

 

XML可以用来作为交换格式,使用户能够在类似的应用程序之间传递数据。

Json也同样能做到。

 

XML提供了一种数据结构,因此,它信息丰富

JSON也是一样的

 

XML很容易处理,因为数据结构是简单而标准的

JSON处理更容易,因为它的结构更简单。

 

有一个可重用的使用广泛的软件提供给程序员来处理XML,使他们不必重新发明代码

JSON的,是一个简单的符号,专门的处理软件要少得多。在语言JavaScript和Python JSON符号建成的编程语言,没有额外的软件。在其他语言中,只有少量的JSON特定的代码是必要的。例如,包装到Java的JSON提供三个简单的类是从JSON.org免费提供。

 

XML把数据结构和数据分开。

XML需要翻译成一个文档结构的数据结构。这个映射可以是复杂的。 JSON结构是基于数组和记录,这是它的组成部分。基于XML结构元素(可嵌套),属性(不能),原始文本内容,实体,DTD和其他荟萃结构。

 

一种常见的交换格式

JSON是一个更好的数据交换格式。 XML是一个更好的文件交换格式。应该使用合适的工具来适应合适的工作。

 

一个数据的许多意见

JSON不提供任何显示功能,因为它不是一个文件标记语言。

 

来自http://www.softwareag.com/xml/about/xml_why.htm

 

 

自我描述的数据

XML和JSON在这一点上是相同的。

 

是传统的数据库和格式的完整一体化

(关于XML的报道有时有点夸张)XML文件可以包含任何可以想象的数据类型 - 从经典的数据,如文字和数字,或如声音等多媒体对象,像Java applets或ActiveX组件的常用格式。

 

JSON没有<[CDATA [[]]>功能,因此它不适合作为声音或影像或其他大型的二进制数据的载体。 JSON的数据进行了优化。此外,如果在数据交换系统提供可执行程序,可以引进危险的安全问题。

 

国际化

XML和JSON都使用Unicode。

 

开放和可扩展

XML的特点之一是一类开放式结构允许您在需要时添加其他国家的艺术元素。这意味着,你总是可以使你的系统接受特定行业的词汇。

 

这些词汇可以自动转换为JSON,使数据从XML到JSON非常简单。

 

来自 http://www.xmlspy.com/manual/whyxml.htm

 

XML是很容易被人和机器阅读

JSON是人类和机器都容易阅读。

 

XML是面向对象

实际上,XML是面向文档。 JSON是面向数据。 JSON可以更容易地被映射到面向对象的系统。

 

XML在计算机行业被广泛采用

JSON是刚刚开始为大家所熟知的,它是简单的。把XML转换为JSON的便利性使得JSON很容易为人所接受。

 

 

 

头一次翻译文章,挺耗时间蛮有难度的,也挺好玩的。希望大家帮着挑错。

英语原文地址

http://www.json.org/xml