|
JSON(Javascript Object Notation) 是一種輕量級的數據交換格式。易于人閱讀和編寫。同時也易于機器解析和生成。它基于Javascript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一個子集。JSON采用完全獨立于語言的文本格式,但是也使用了類似于C語言家族的習慣(包括C, C++, C#, Java, Javascript, Perl, Python等)。這些特性使JSON成為理想的數據交換語言。
JSON概念很簡單,就是服務器直接生成Javascript語句,客戶端獲取后直接用eval方法來獲得這個對象,這樣就可以省去解析XML的性損失。
使用XML表示:
復制代碼 代碼如下:
<items>
<item>
<id>1</id>
<author>Jackson</author>
<url>http://www.jb51.NET</url>
<content>Welcome to Web.cn</content>
</item>
<item>
<id>2</id>
<author>Relkn</author>
<url>http://www.jb51.NET</url>
<content>Web.cn關注互聯網新技術</content>
</item>
<item>
<id>3</id>
<author>Kvogend</author>
<url>http://www.jb51.NET</url>
<content>jb51.NET腳本之家</content>
</item>
</items>
代碼:
復制代碼 代碼如下:
<items>
<item>
<id>1</id>
<author>Jackson</author>
<url>http://www.jb51.NET</url>
<content>Welcome to Web.cn</content>
</item>
<item>
<id>2</id>
<author>Relkn</author>
<url>http://www.jb51.NET</url>
<content>Web.cn關注互聯網新技術</content>
</item>
<item>
<id>3</id>
<author>Kvogend</author>
<url>http://www.jb51.NET</url>
<content>jb51.NET腳本之家</content>
</item>
</items>
使用JSON:
復制代碼 代碼如下:
{items:[
{
id:1,
author:/"Jackson/",
url:/"http://www.jb51.NET/",
content:/"Welcome to Web.cn/"
},
{
id:2,
author:/"Relkn/",
url:/"http://www.jb51.NET/",
content:/"Web.cn關注互聯網新技術/"
},
{
id:3,
author:/"Kvogend/",
url:/"http://www.jb51.NET/",
content:/"jb51.NET腳本之家/"
}
]};
代碼:
復制代碼 代碼如下:
{items:[
{
id:1,
author:/"Jackson/",
url:/"http://www.jb51.NET/",
content:/"Welcome to Web.cn/"
},
{
id:2,
author:/"Relkn/",
url:/"http://www.jb51.NET/",
content:/"Web.cn關注互聯網新技術/"
},
{
id:3,
author:/"Kvogend/",
url:/"http://www.jb51.NET/",
content:/"jb51.NET腳本之家/"
}
]};
JSON不僅減少了解析XML解析帶來的性能問題和兼容性問題,而且對于Javascript來說非常容易使用,可以方便的通過遍歷數組以及訪問對象屬性來獲取數據,其可讀性也不錯,基本具備了結構化數據的性質。不得不說是一個很好的辦法,而且事實上google maps就沒有采用XML傳遞數據,而是采用了JSON方案。
JSON的另外一個優勢是"跨域性",例如你在www.jb51.NET的網頁里使用
<script type="text/Javascript" src="" target="_blank">http://www.yyy.com/some.js">
是完全可行的,這就意味著你可以跨域傳遞信息。而使用XMLHttpRequest卻獲取不了跨域的信息,這是Javascript內部的安全性質所限制的。
JSON能完全取代XML嗎?當然不能,原因就在于XML的優勢:通用性。要使服務器端產生語法合格的Javascript代碼并不是很容易做到的,這主要發生在比較龐大的系統,服務器端和客戶端有不同的開發人員。它們必須協商對象的格式,這很容易造成錯誤。
JavaScript技術:看了就知道什么是JSON,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。