JSON为王,为什么XML会慢慢淡出人们的视野

开发 前端
目前全球信息基础设施的特点是,拥有大量的数据交换格式。这一点也不奇怪。互联网几乎已经老了,而“物联网”及“大数据”正从概念走进现实。但我仍然相信,在这一领域还有一股较强的历史趋势,推动JSON数据格式的应用。

目前全球信息基础设施的特点是,拥有大量的数据交换格式。这一点也不奇怪。互联网几乎已经老了,而“物联网”及“大数据”正从概念走进现实。但我仍然相信,在这一领域还有一股较强的历史趋势,推动JSON数据格式的应用。

十 年前,XML是主要的数据交换格式。它的出现,尤如一股清新的空气,以及令人惊喜的SGML(标准通用标记语言),是一个巨大的进步。它使人们能够做到以 前想都不敢想的事情,比如通过HTTP连接交换微软Office文档,你的周围布满XML文档,你很容易忽略这把“互联网瑞士军刀”的重要性。 

这 已经不是什么秘密了,但在过去的几年里,在数据交换的世界,一个大胆的改造已经开始。更轻巧,更省带宽的,密集型的JSON(JavaScript对象标 记),已不仅仅成为XML的另外一套可选技术,而是可能成为一个潜在的完全成熟的接班人。现在各种各样的力量汇聚在一起,让XML的使用越来越少,并视 JSON作为未来的全球数字架构的首选格式。我认为,唯一的问题是这个时刻何时到来。

我坚信,这种转变可以归因于四大趋势,我将依次讨论:

1. APIs

不管你喜欢与否,今天的网络环境在很多重要方面仍然严重孤立。有大量你将永远接触不到的信息在那里(如身份验证信息,应该被加密)。但像eBay这样的公司开始走向开放,API已经作为一种通用的力量。

这里有一些例子,像Twitter, Facebook和LinkedIn和其他无数的机构 a)基于信息服务来交换数据 (b 对开放各种各样的信息给第三方越来越有兴趣。大量的数据永远看不到出头之日(因为他们是孤立的) 。现在我只想说,这些API是一股不可忽视的力量,并改变着这个空间,在网络上留下他们的标记。

 这里很多原始数据仍然使用XML而不是JSON,像可编程Web和其他数据表明,XML仍然是API的主要数据格式,但是“大JSON”正在快速上升。 Twitter的API大约两年前开始就只支持JSON了。Foursquare也跟进了。

Scott Gilbertson大致同意我的判断: “当涉及到数据API服务时, XML仍然是最常用的格式,但JSON是的增长更快。尽管还有很多XML格式的API,但最近的API ,越来越倾向于使用JSON格式。这样的例子还有很多…… 企业正在迅速从XML迁移到JSON”。 Scott一年多前就发表了他的观点,但没有什么迹象表明他的观点有任何变化。

简而言之:APIs 已经不再是一个很酷的事情或Web的附属物,用Gilbertson的话来说,是“互联网上的一等公民”。最重要的是,REST正在替代SOAP作为数据 传输协议。XML跟REST不太兼容,当然,如果SOAP使用率急剧下降,那么XML的使用量将与它一起萎缩。

 2. 大数据

 JSON 的崛起在数据库方面也扮演着关键角色,这是另一个对XML不好的预兆。其实大数据本身并没有首选的数据交换格式。不过,对于大数据来说JSON可能更特殊 一点。JSON是一种新兴的以网络为中心,所谓的“NoSQL”数据库的首选格式。这是因为:a)JSON适应大规模可扩展性的数据库; b)天生就是为了无关系数据而设计的; c))面向Web是他们的核心;

 这是有很多知名的例子,像MongoDB,CouchDB,和Riak。这三种数据库都基于JSON,横向可扩展,由Web驱动。

 其他的例子比比皆是:亚马逊DynamoDB的架构是完全基于REST/JSON的。 Neo4j,图形数据库,有一个REST/JSON API,没有对应XML的支持。 HBase的的REST架构目前支持XML,但这种支持正走在被废弃的路上。

 一 段时间以来,通过各种手段查询MySQL,并得到JSON的返回结果,这一直是可能的。(有很多方法可以做到这一点,但MySQL 4.1中的JSON格式的命令无疑是最方便的)。这同样适用于Postgres的和其他柱状数据库。但除了MySQL和Postgres,还没有其他数据 库将JSON作为基石。

 Postgres将很快发生变化。在9.2版本中, Postgres将支持JSON数据类型,这将“允许存储基于文档的数据库,可存储JSON文档,或将数组和行数据转换成JSON ”。尽管Postgres支持XML数据类型有一段时间了,这种变化令我对JSON的重要性日益增加,增加了一个微妙的确认。

 还有一些数据库是基于XML的(如MarkLogic),但是还没有任何类似迅速采用基于JSON存储之类的动静。

 3. 物联网

 在这一领域的运动比我所提到的其他领域寻更难以辨别。物联网仍然是一个概念,但这是特别强大的一个。它还未实现,还未被证明可行,以及首选的数据格式。互联网基本上是一大堆电脑连接一直的小事。

但 值得一提的是,JSON开始已经在这一领域建立立足点。有人使用JSON在Arduino上建了一个库。在“物联网架构设计”(第102页)一书中,有人 认为:“JSON可以更好地适应[比XML]智能设备上的功能。此外,它可以被解析成JavaScript对象。这使得它成为集成到网页中的理想人选。 “你可以基于JSON构造LED压力表。你的下一个温控器可能也会基于JSON运行。

我们还没有到那个时侯,几乎感觉不到的JSON关联着你周围的一切。谁知道呢?

 4. 全栈(全端)JavaScript

除了上面提到的三股力量,还有一个更值得地提到:JavaScript是一种辣味十足且有可能不会很快改变的技术。node.js已经逐渐成为主流,围绕它 周围的狂热社区在快速地产生,新的客户端JavaScript库每一天都在增加,JavaScript已经在网络上广泛使用,在web开发世界,参与这个 不断增长的分支的人们,应该更喜欢JSON,这仅仅是轻描淡写的一笔。 当然,也有基于node的XML解析器,但它主要是处理遗留的基于XML的服务。事实是,如果你正在从上往下做全栈式的JavaScript,使用JSON之外的东西是愚蠢的。因为全栈的JavaScript已经成为主流。

这样或那样,前途光明的JSON

如果上述与JSON本身无关,这将是很另人吃惊的。许多人认为,JSON更好,因为它不像XML那么“详细”,并且比起纯二进制更容易被人们理解。

这些因素都对JSON有一定的帮助,但我们的开发人员Matthew Lyon有一个更为令人信服的理由。他认为JSON的崛起,是因为JSON只处理了非常有限的数据类型。它本质上限制为null, Booleans, numerics, strings, arrays,和 dictionaries。它甚至没有一个日期数据类型。JSON就是这样,不仅没有一般XML的冗长:它仅是在使用本身的数据类型。它本身的原始数据类 型的更简洁,使JSON更深刻,并可以立即与之互操作。

总的来说,我的说法并不是真的如此大胆,因 为似乎已经显而易见了。它主要由两部分组成:(1)为了全球的数字基础设施,需要有无孔不入的数据交换格式,像针线一样将一切融合在一起,建立高清晰度的 节点;(2)有充分理由认为,JSON总有一天会在我们的数字世界中建立霸主地位。我们应该期望适应这一变化,并相应地调整。

原文链接:http://www.linkedin.com/pub/dr-luc-perkins/22/7b3/a08?utm_source=ourjs.com

译文链接:http://ourjs.com/detail/5310bbf992b2049526000016

 

责任编辑:陈四芳 来源: ourjs.com
相关推荐

2010-06-25 10:33:56

乔布斯

2015-06-30 10:38:56

2010-03-29 15:21:42

无线上网解决方案

2018-12-20 09:08:33

AI数据科技

2018-03-21 09:10:36

Ghost系统微软

2012-05-14 08:55:23

Android

2012-11-21 13:14:36

融合架构云计算网络配置

2017-12-26 10:53:30

2017-12-28 14:28:24

2019-01-04 09:00:43

2009-12-25 09:41:51

2019-08-06 11:22:49

2021-02-01 10:10:55

Svelte框架开发

2013-08-21 09:48:45

2021-12-29 15:26:40

虚拟货币比特币货币

2013-04-02 09:40:33

SaaSPaaS平台安全

2020-07-27 10:09:02

微服务架构规则

2014-05-16 09:41:32

Windows XP

2020-06-10 14:10:53

服务开发 架构

2023-11-14 16:23:34

点赞
收藏

51CTO技术栈公众号