1. 程式人生 > >JSON 和 XML優缺點的比較

JSON 和 XML優缺點的比較

JSON(Javascript Object Notation) 是一種輕量級的資料交換格式。易於人閱讀和編寫。同時也易於機器解析和生成。它基於JavascriptProgramming Language, Standard ECMA-262 3rd Edition - December 1999的一個子集。JSON採用完全獨立於語言的文字格式,但是也使用了類似於C語言家族的習慣(包括C, C++,C#, Java, Javascript, Perl, Python等)。這些特性使JSON成為理想的資料交換語言。
JSON概念很簡單,就是伺服器直接生成Javascript語句,客戶端獲取後直接用eval方法來獲得這個物件,這樣就可以省去解析XML的性損失。

如要從後臺載入資訊,寫成XML,如下:
<contact>
<friend>
<name>Michael</name>
<email>
[email protected]
</email>
<homepage>http://www.jialing.net</homepage>
</friend>
<friend>
<name>John</name>
<email>[email protected]</email>
<homepage>http://www.john.com</homepage>
</friend>
<friend>
<name>Peggy</name>
<email>[email protected]</email>
<homepage>http://www.peggy.com</homepage>
</friend>
</contact>

而寫成JSON:
[
{
name:"Michael",
email:"
[email protected]
",
homepage:"http://www.jialing.net"
},
{
name:"John",
email:"[email protected]",
homepage:"http://www.jobn.com"
},
{
name:"Peggy",
email:"[email protected]",
homepage:"http://www.peggy.com"
}
]

簡單的不只是表達上,最重要的是可以丟棄讓人暈頭轉向的DOM解析了。因為只要符合Javascript的宣告規範,JavaScrip會自動幫你解析好 的。Ajax中使用JSON的基本方法是前臺載入後臺宣告Javascript物件的字串,用eval方法來將它轉為實際的物件,最後通過 DHTML更新頁面資訊。

JSON不僅減少了解析XML解析帶來的效能問題和相容性問題,而且對於Javascript來說非常容易使用,可以方便的通過遍歷陣列以及訪問物件屬性 來獲取資料,其可讀性也不錯,基本具備了結構化資料的性質。不得不說是一個很好的辦法,而且事實上google maps就沒有采用XML傳遞資料,而是採用了JSON方案。

JSON的另外一個優勢是"跨域性",例如你在www.Web.cn的網頁裡使用