看了就知道什么是JSON
JSON(Javascript Object Notation) 是一種輕量級(jí)的數(shù)據(jù)交換格式。易于人閱讀和編寫。同時(shí)也易于機(jī)器解析和生成。它基于Javascript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一個(gè)子集。JSON采用完全獨(dú)立于語(yǔ)言的文本格式,但是也使用了類似于C語(yǔ)言家族的習(xí)慣(包括C, C++, C#, Java, Javascript, Perl, Python等)。這些特性使JSON成為理想的數(shù)據(jù)交換語(yǔ)言。
JSON概念很簡(jiǎn)單,就是服務(wù)器直接生成Javascript語(yǔ)句,客戶端獲取后直接用eval方法來(lái)獲得這個(gè)對(duì)象,這樣就可以省去解析XML的性損失。
使用XML表示:
<items>
<item>
<id>1</id>
<author>Jackson</author>
<url>http://www.dbjr.com.cn</url>
<content>Welcome to Web.cn</content>
</item>
<item>
<id>2</id>
<author>Relkn</author>
<url>http://www.dbjr.com.cn</url>
<content>Web.cn關(guān)注互聯(lián)網(wǎng)新技術(shù)</content>
</item>
<item>
<id>3</id>
<author>Kvogend</author>
<url>http://www.dbjr.com.cn</url>
<content>jb51.net腳本之家</content>
</item>
</items>
代碼:
<items>
<item>
<id>1</id>
<author>Jackson</author>
<url>http://www.dbjr.com.cn</url>
<content>Welcome to Web.cn</content>
</item>
<item>
<id>2</id>
<author>Relkn</author>
<url>http://www.dbjr.com.cn</url>
<content>Web.cn關(guān)注互聯(lián)網(wǎng)新技術(shù)</content>
</item>
<item>
<id>3</id>
<author>Kvogend</author>
<url>http://www.dbjr.com.cn</url>
<content>jb51.net腳本之家</content>
</item>
</items>
使用JSON:
{items:[
{
id:1,
author:\"Jackson\",
url:\"http://www.dbjr.com.cn\",
content:\"Welcome to Web.cn\"
},
{
id:2,
author:\"Relkn\",
url:\"http://www.dbjr.com.cn\",
content:\"Web.cn關(guān)注互聯(lián)網(wǎng)新技術(shù)\"
},
{
id:3,
author:\"Kvogend\",
url:\"http://www.dbjr.com.cn\",
content:\"jb51.net腳本之家\"
}
]};
代碼:
{items:[
{
id:1,
author:\"Jackson\",
url:\"http://www.dbjr.com.cn\",
content:\"Welcome to Web.cn\"
},
{
id:2,
author:\"Relkn\",
url:\"http://www.dbjr.com.cn\",
content:\"Web.cn關(guān)注互聯(lián)網(wǎng)新技術(shù)\"
},
{
id:3,
author:\"Kvogend\",
url:\"http://www.dbjr.com.cn\",
content:\"jb51.net腳本之家\"
}
]};
JSON不僅減少了解析XML解析帶來(lái)的性能問(wèn)題和兼容性問(wèn)題,而且對(duì)于Javascript來(lái)說(shuō)非常容易使用,可以方便的通過(guò)遍歷數(shù)組以及訪問(wèn)對(duì)象屬性來(lái)獲取數(shù)據(jù),其可讀性也不錯(cuò),基本具備了結(jié)構(gòu)化數(shù)據(jù)的性質(zhì)。不得不說(shuō)是一個(gè)很好的辦法,而且事實(shí)上google maps就沒有采用XML傳遞數(shù)據(jù),而是采用了JSON方案。
JSON的另外一個(gè)優(yōu)勢(shì)是"跨域性",例如你在www.dbjr.com.cn的網(wǎng)頁(yè)里使用
<script type="text/javascript" src="" target="_blank">http://www.yyy.com/some.js">
是完全可行的,這就意味著你可以跨域傳遞信息。而使用XMLHttpRequest卻獲取不了跨域的信息,這是Javascript內(nèi)部的安全性質(zhì)所限制的。
JSON能完全取代XML嗎?當(dāng)然不能,原因就在于XML的優(yōu)勢(shì):通用性。要使服務(wù)器端產(chǎn)生語(yǔ)法合格的Javascript代碼并不是很容易做到的,這主要發(fā)生在比較龐大的系統(tǒng),服務(wù)器端和客戶端有不同的開發(fā)人員。它們必須協(xié)商對(duì)象的格式,這很容易造成錯(cuò)誤。
相關(guān)文章
JQuery用$.ajax或$.getJSON跨域獲取JSON數(shù)據(jù)的實(shí)現(xiàn)代碼
這篇文章主要介紹了JQuery用$.ajax或$.getJSON跨域獲取JSON數(shù)據(jù)的實(shí)現(xiàn)代碼,需要的朋友可以參考下2017-09-09如何實(shí)現(xiàn)json數(shù)據(jù)可視化詳解
最近在工作中開發(fā)一個(gè)內(nèi)部功能時(shí)碰到的一個(gè)需求,要把json數(shù)據(jù)在頁(yè)面上展示出來(lái),平時(shí)瀏覽器會(huì)安裝jsonView這樣的擴(kuò)展來(lái)看json數(shù)據(jù),但是程序要用到的話該怎么辦呢?今天在網(wǎng)上搜索的時(shí)候,發(fā)現(xiàn)了這個(gè)小技巧,分享給大家,有需要的朋友們可以參考借鑒,下面來(lái)一起看看吧2016-11-11打印json對(duì)象的內(nèi)容及JSON.stringify函數(shù)應(yīng)用
json對(duì)象的內(nèi)容在調(diào)試的時(shí)候用的到通過(guò)JSON.stringify函數(shù),可以轉(zhuǎn)換json對(duì)象為字符串,接下來(lái)為大家詳細(xì)介紹下,感興趣的朋友可以參考下哈2013-03-03Javascript Jquery 遍歷Json的實(shí)現(xiàn)代碼
Javascript Jquery 遍歷Json的實(shí)現(xiàn)代碼,需要的朋友可以參考下。2010-03-03jQuery 遍歷json數(shù)組的實(shí)現(xiàn)代碼
看到網(wǎng)上有很多朋友問(wèn)遍歷json數(shù)組的代碼,腳本之家特為大家整理了一些,需要的朋友可以看下。2010-03-03半個(gè)小時(shí)學(xué)json(json傳遞示例)
這篇文章主要介紹了半個(gè)小時(shí)學(xué)json(json傳遞示例),主要包括一維數(shù)組與二維數(shù)組,需要的朋友可以參考下2016-12-12深入淺析同源與跨域,jsonp(函數(shù)封裝),CORS原理
這篇文章主要介紹了同源與跨域,jsonp(函數(shù)封裝),CORS原理,從同源政策中Ajax限制,到跨域問(wèn)題以及跨域問(wèn)題的解決方法幫大家更加深入的去了解其中原理2021-08-08詳解Java中String JSONObject JSONArray List<實(shí)體類>轉(zhuǎn)換
這篇文章主要介紹了詳解String JSONObject JSONArray List<實(shí)體類>轉(zhuǎn)換,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11