數(shù)據(jù)格式的歷史與對(duì)比:JSON vs XML
在比較JSON和XML之前,我們先來上一堂關(guān)于數(shù)據(jù)格式的簡(jiǎn)要?dú)v史(更準(zhǔn)確的說,是關(guān)于XML的始祖):
- 早在1970年,IBM開發(fā)了一種叫Generalized Markup Language的標(biāo)記語言,簡(jiǎn)稱GML,它主要是為腳本語言定義的一組宏。
 - 1986年,基于GML開發(fā)的另一種標(biāo)記語言Standard Generalized Markup Language(簡(jiǎn)稱SGML)誕生,并成為了ISO標(biāo)準(zhǔn),接著在1998年,SGML又被重新定義為XML。
 
然而另一方面,JSON是Douglas Crockford在2001年開始推廣使用的數(shù)據(jù)格式,在2005年-2006年正式成為主流的數(shù)據(jù)格式,雅虎和谷歌就在那時(shí)候開始廣泛地使用JSON格式。
兩者的定義
XML(Extensible Markup Language)是一種用來編碼文檔的標(biāo)記語言,人和機(jī)器都能夠快速理解XML文檔的含義。它的其中一個(gè)目標(biāo)就是能在互聯(lián)網(wǎng)上廣泛應(yīng)用,現(xiàn)在XML已經(jīng)被廣泛地應(yīng)用在各種應(yīng)用、WEB服務(wù)和網(wǎng)站中。
JSON(JavaScript Object Notation)是一種輕量級(jí)的數(shù)據(jù)格式,它以”name / value”的格式來傳輸數(shù)據(jù)對(duì)象,JSON的目的就是為了能替代XML,現(xiàn)在也有很多編程語言支持JSON格式了。
從語法的角度看,兩者的區(qū)別還是很大的,看下面的兩段代碼:
JSON
XML
各自的優(yōu)勢(shì)
從上面的兩個(gè)例子中我們可以看到,由于合理地利用了代碼縮進(jìn)和空格,JSON比XML可讀性更強(qiáng)一些,另外,JSON沒有利用全標(biāo)記的結(jié)構(gòu),所以代碼看起來更加緊湊,占用的空間也少。
JSON的另一個(gè)優(yōu)勢(shì)是它可以包含更多的結(jié)構(gòu)化信息,比如:它更容易表達(dá)不同的數(shù)據(jù)格式,像numbers (11),strings (“11″)和NULL值,甚至是數(shù)組。
另一方面,XML依然被開發(fā)者廣泛地使用著,作為數(shù)據(jù)格式領(lǐng)域的老大哥,XML也有很多自己的優(yōu)勢(shì),比如:XML有更多的文檔和開發(fā)工具。另外一個(gè) 比JSON更大的優(yōu)勢(shì)是XML有一個(gè) XML schema 來描述XML結(jié)構(gòu)化信息,它能夠詳細(xì)描述XML文檔的信息,也可以進(jìn)行數(shù)據(jù)的驗(yàn)證。
選擇JSON還是XML?
***,我們來客觀地選擇JSON還是XML。如果你正要學(xué)習(xí)JSON及其相關(guān)的庫,那么你可以繼續(xù)學(xué)習(xí),因?yàn)镴SON將更加流行,使用也更加廣泛。 另外,如果你相對(duì)保守的話,你可以堅(jiān)持使用XML,對(duì)于這么多年老牌的標(biāo)記語言,證明了XML的存在是有其價(jià)值的,未來它也不會(huì)被全部取代。
那么談?wù)勀銓?duì)這兩種數(shù)據(jù)格式的看法,你在開發(fā)中更傾向于哪一種數(shù)據(jù)格式呢?
譯文鏈接:http://www.codeceo.com/article/json-vs-xml.html
英文原文:Battle of data formats: JSON vs XML
翻譯作者:小峰

















 
 
 





 
 
 
 