Crockford 还声称 JSON 的另一个巨大优势是其被设计为数据交换格式 。 12 从一开始,它的目的就是在应用程序间传递结构化信息的 。而 XML 呢,虽然也可以使用来传递数据,但其最初被设计为文档标记语言 。它演变自 SGML(通用标准标记语言),而它又是从被称为 Scribe 的标记语言演变而来,其旨在发展成类似于 LaTeX 一样的文字处理系统 。XML 中,一个标签可以包含有所谓的“混合内容”,即带有围绕单词、短语的内嵌标签的文本 。这会让人浮现出一副用红蓝笔记录的手稿画面,这是标记语言核心思想的形象比喻 。另一方面,JSON 不支持对混合内容模型的清晰构建,但这也意味着它的结构足够简单 。一份文档最好的建模就是一棵树,但 JSON 抛弃了这种文档的思想,Crockford 将 JSON 抽象限制为字典和数组,这是所有程序员构建程序时都会使用的最基本的、也最熟悉的元素 。
最后,我认为人们不喜欢 XML 是因为它让人困惑 。它让人迷惑的地方就是有很多不同的风格 。乍一看,XML 本身及其子语言(如 RSS、ATOM、SOAP 或 SVG)之间的界限并不明显 。典型的 XML 文档的第一行标识了该 XML 的版本,然后该 XML 文档应该符合特定的子语言 。这就有变化需要考虑了,特别是跟 JSON 做比较,JSON 是如此简单,以至于永远不需要编写新版本的 JSON 规范 。XML 的设计者试图将 XML 做为唯一的数据交换格式以支配所有格式,就会掉入那个经典的程序员陷阱:过度工程化 。XML 非常笼统及概念化,所以很难于简单的使用 。
在 2000 年的时候,发起了一场使 HTML 符合 XML 标准的活动,发布了一份符合 XML 标准的 HTML 开发规范,这就此后很出名的 XHTML 。虽然一些浏览器厂商立即开始支持这个新标准,但也很明显,大部分基于 HTML 技术的开发者不愿意改变他们的习惯 。新标准要求对 XHTML 文档进行严格的验证,而不是基于 HTML 的基准 。但大多的网站都是依赖于 HTML 的宽容规则的 。到 2009 年的时候,试图编写第二版本的 XHTML 标准的努力已经流产,因为未来已清晰可见,HTML 将会发展为 HTML5(一种不强制要求接受 XML 规则的标准) 。
如果 XHTML 的努力取得了成功,那么 XML 可能会成为其设计者所希望的通用数据格式 。想象一下,一个 HTML 文档和 API 响应具有完全相同结构的世界 。在这样的世界中,JSON 可能不会像现在一样普遍存在 。但我把 HTML 的失败看做是 XML 阵营的一种道义上的失败 。如果 XML 不是 HTML 的最佳工具,那么对于其他应用程序,也许会有更好的工具出现 。在这个世界,我们的世界,很容易看到像 JSON 格式这样的足够简单、量体裁衣的才能获得更大的成功 。
【JSON 的兴起与崛起】如果你喜欢这博文,每两周会更新一次! 请在 Twitter 上关注 @TwoBitHistory 或订阅 RSS feed,以确保得到更新的通知 。
推荐阅读
- 红茶的分类 红茶有哪些
- 如何冲泡红茶 正确的红茶冲泡方法新手必看
- 如何选购正宗的正山小种红茶 购买正山小种需要注意这6大点
- 五大最流行的破解工具,让你从此走遍黑客世界
- 武夷山红茶之正山小种红茶的特殊储存方法
- 锡兰红茶怎么泡 正宗的斯里兰卡红茶品饮方法
- 帝国cms后台发布内容自动把内容图片的alt和title替换为文章标题
- 男性的备孕禁忌有哪些 男性的备孕禁忌有什么
- 曲奇的配方比例 曲奇怎么做
- 冷冻的梭子蟹怎么做 梭子蟹怎么做