在比较JSON和XML之前,先简单介绍一下数据格式的历史(更准确地说,是XML的始祖):早在1970年,IBM就推出了一种标记语言,叫做GeneralizedMarkupLanguage简称GML,主要是为脚本语言定义的一组宏。1986年,另一种基于GML的标记语言——标准通用标记语言(StandardGeneralizedMarkupLanguage,简称SGML)诞生,并成为ISO标准。然后在1998年,SGML被重新定义为XML。另一方面,JSON是DouglasCrockford在2001年推出的一种数据格式,并在2005-2006年正式成为主流数据格式。雅虎和谷歌在那个时候开始广泛使用JSON格式。两者的定义XML(ExtensibleMarkupLanguage)是一种用于对文档进行编码的标记语言,人和机器都可以快速理解XML文档的含义。它的目标之一就是在互联网上得到广泛应用,现在XML已经广泛应用于各种应用程序、WEB服务和网站中。JSON(JavaScriptObjectNotation)是一种轻量级的数据格式,以“名称/值”的格式传输数据对象。JSON的目的是取代XML。现在有很多编程语言支持JSON格式。从语法上看,两者还是有很大区别的。看下面两段代码:JSONXML各自的优势从上面两个例子我们可以看出,由于代码缩进和空格的合理使用,JSON比XML更具可读性。此外,JSON没有利用完整的标记结构,因此代码看起来更紧凑,占用的空间也更少。JSON的另一个优点是它可以包含更多的结构化信息,例如:更容易表达不同的数据格式,如数字(11)、字符串(“11”)和NULL值,甚至数组。另一方面,XML仍然被开发人员广泛使用。作为数据格式领域的老大哥,XML也有自己的很多优势,例如:XML有更多的文档和开发工具。XML相对于JSON的另一个优势是,XML有一个XMLschema来描述XML结构化信息,它可以详细描述XML文档的信息,也可以进行数据验证。选择JSON还是XML?***,让我们客观地选择JSON或XML。如果你正在学习JSON和它的相关库,那么你可以继续学习,因为JSON会变得更加流行和广泛使用。此外,如果您比较保守,可以坚持使用XML。对于这么多年的老牌标记语言,XML的存在已经证明了它的价值,未来也不会被完全取代。那么谈谈你对这两种数据格式的看法,你在开发中更喜欢哪种数据格式呢?翻译链接:http://www.codeceo.com/article/json-vs-xml.html英文原文:Battleofdataformats:JSONvsXML译者:小风
