資料格式之戰:JSON vs XML

2014-08-10    分類:WEB開發、程式設計開發、首頁精華7人評論發表於2014-08-10

本文由碼農網翻譯,轉載請務必在正文中註明出處

在比較JSON和XML之前,我們先來上一堂關於資料格式的簡要歷史(更準確的說,是關於XML的始祖):

  • 早在1970年,IBM開發了一種叫Generalized Markup Language的標記語言,簡稱GML,它主要是為指令碼語言定義的一組巨集。
  • 1986年,基於GML開發的另一種標記語言Standard Generalized Markup Language(簡稱SGML)誕生,併成為了ISO標準,接著在1998年,SGML又被重新定義為XML。

然而另一方面,JSON是Douglas Crockford在2001年開始推廣使用的資料格式,在2005年-2006年正式成為主流的資料格式,雅虎和谷歌就在那時候開始廣泛地使用JSON格式。

兩者的定義

XML(Extensible Markup Language)是一種用來編碼文件的標記語言,人和機器都能夠快速理解XML文件的含義。它的其中一個目標就是能在網際網路上廣泛應用,現在XML已經被廣泛地應用在各種應用、WEB服務和網站中。

JSON(JavaScript Object Notation)是一種輕量級的資料格式,它以”name / value”的格式來傳輸資料物件,JSON的目的就是為了能替代XML,現在也有很多程式語言支援JSON格式了。

從語法的角度看,兩者的區別還是很大的,看下面的兩段程式碼:

JSON

XML

各自的優勢

從上面的兩個例子中我們可以看到,由於合理地利用了程式碼縮排和空格,JSON比XML可讀性更強一些,另外,JSON沒有利用全標記的結構,所以程式碼看起來更加緊湊,佔用的空間也少。

JSON的另一個優勢是它可以包含更多的結構化資訊,比如:它更容易表達不同的資料格式,像numbers (11),strings (“11″)和NULL值,甚至是陣列。

另一方面,XML依然被開發者廣泛地使用著,作為資料格式領域的老大哥,XML也有很多自己的優勢,比如:XML有更多的文件和開發工具。另外一個比JSON更大的優勢是XML有一個 XML schema 來描述XML結構化資訊,它能夠詳細描述XML文件的資訊,也可以進行資料的驗證。

選擇JSON還是XML?

最後,我們來客觀地選擇JSON還是XML。如果你正要學習JSON及其相關的庫,那麼你可以繼續學習,因為JSON將更加流行,使用也更加廣泛。另外,如果你相對保守的話,你可以堅持使用XML,對於這麼多年老牌的標記語言,證明了XML的存在是有其價值的,未來它也不會被全部取代。

那麼談談你對這兩種資料格式的看法,你在開發中更傾向於哪一種資料格式呢?

譯文連結:http://www.codeceo.com/article/json-vs-xml.html
英文原文:Battle of data formats: JSON vs XML
翻譯作者:碼農網 – 小峰
轉載必須在正文中標註並保留原文連結、譯文連結和譯者等資訊。]

相關文章