JSON與XML的戰火

2021-04-13 09:38:35 字數 976 閱讀 7336

json與xml的戰火

隨著ajax烈火的迅速蔓延,json很快被廣泛使用,並且侵入非ajax領域,xml純粹主義者奮起反擊,激起新一輪的戰火。

xml純粹主義者認為,xml是既有的標準,已經得到了廣泛的支援和應用,不需要json來重新發明車軲轆(避諱)。而且xml在設計上考慮了從最簡單到最複雜的需求,而json在複雜情況下將遇到很多限制,將面臨各自為政的擴充套件和變體林立的局面。而且xml有豐富的工具和巨獸級企業的強力支援,能夠保證持久的支援,而json像lisp一樣會失敗,可能10年後就無法讀取了。

json支持者反駁,xml是擴充套件自文件標籤格式來支援包括物件資料的任意資料格式,在表示物件資料時並不方便而且有標籤與屬性之爭,而json是純粹的物件資料格式,而且簡單可讀,重新發明的好處是可以發明乙個更圓的車軲轆(避諱)。與xml相比,json相當的輕量級,生成和解析都簡單快速。xml是乙個用來定義格式的規範,需要龐大複雜緩慢的解析器,而且定義和維護新格式的成本很高,重用已有格式如soap、xml-rpc也過於複雜。

其實這就是個牛刀殺雞的問題,xml是把牛刀,它由巨獸級企業聯合鍛造,可以完成大、巨、宇宙級別的任何超級任務,同時為了降低成本、主導市場,他們希望所有的人都用這把牛刀。但很多人是幹殺雞這一行的,用牛刀殺雞不太順手,於是搞了把廉價的菜刀。

而且簡單的東西往往生命力更強,正如在word、html、flash如此平常的今天,我們依然經常使用notepad一樣。xml工具豐富的同時我們也要問問,為什麼我們需要那麼多的工具,我想乙個有良心的老闆不會用notepad來折磨他的xml程式設計師。

還有xml支持者反覆強調文字編碼的國際化問題,但json標準明明規定json的文字必須是unicode編碼,utf-8或者utf-16可以通過unicode檔案頭來識別,事實上比xml的情況要簡單。

參考:www.json.org

2007-9-19更新:json的崛起並不意味著能取代xml,而是在適合它的領域內提供乙個xml的替代品,而在文件類資料、複雜資料結構、通用資料交換等領域,xml仍然是目前最好的選擇。

JSON與XML的比較

xml和json都使用結構化方法來標記資料,下面來做乙個簡單的比較。1 用xml表示中國部分省市資料如下 中國黑龍江 哈爾濱大慶 廣東廣州深圳 珠海 台灣台北高雄 新疆烏魯木齊 2 用json表示中國部分省市資料如下 var country 編碼的可讀性來說,xml有明顯的優勢,畢竟人類的語言更貼近...

JSON 與 XML基本了解

簡單了解json 和 xml 以及他們的區別 json 是一種輕量級的資料交換格式,ecma 歐洲計算機製造商協會 的乙個子集 缺點 相對xml通用性較差,資料可描述性較差。xml 可拓展標記語言,用於標記電子檔案使其具有結構性的標記語言,可以用來標記資料 定義資料型別,是一種允許對自己的標記語言進...

JSON3 JSON與XML資料之間的轉換

要使用以下 除了json2中提到的7個jar包,還需要乙個xom.jar包,否則將會報錯 實現轉換的 如下 package com.json import net.sf.json.jsonobject import net.sf.json.xml.xmlserializer public class...