比較xml與json在web中的應(yīng)用

比較xml與json在web中的應(yīng)用

ID:25327856

大?。?6.00 KB

頁(yè)數(shù):13頁(yè)

時(shí)間:2018-11-19

比較xml與json在web中的應(yīng)用_第1頁(yè)
比較xml與json在web中的應(yīng)用_第2頁(yè)
比較xml與json在web中的應(yīng)用_第3頁(yè)
比較xml與json在web中的應(yīng)用_第4頁(yè)
比較xml與json在web中的應(yīng)用_第5頁(yè)
資源描述:

《比較xml與json在web中的應(yīng)用》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。

1、比較XML與JSON在Web中的應(yīng)用摘要:隨著越來越多的AJAX應(yīng)用的出現(xiàn),XML和JSON成為主要的數(shù)據(jù)交換格式。選擇適合的數(shù)據(jù)交換格式對(duì)今后的數(shù)據(jù)轉(zhuǎn)換和應(yīng)用程序性能至關(guān)重要。通過對(duì)比兩種格式的語(yǔ)言特性、編程語(yǔ)言支持、運(yùn)行效率、安全性以及應(yīng)用范圍和學(xué)習(xí)難易程度,并輔以事例及代碼片段,說明JSON比XML更加適合在LJSONAJAX    1概述  1.1XML與JSON簡(jiǎn)介  XML[1]是ExtensibleMarkupLanguage的縮寫,中文名稱是可擴(kuò)展標(biāo)記語(yǔ)言,它源自標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言SGML,XML是從1995年開始有其雛形,并向

2、L1.0)。XML是一種格式統(tǒng)一,跨平臺(tái)的語(yǔ)言,早已成為業(yè)界公認(rèn)的標(biāo)準(zhǔn)。XML使用元素和屬性來描述數(shù)據(jù)。在數(shù)據(jù)傳送過程中,XML始終保留了諸如父/子關(guān)系這樣的數(shù)據(jù)結(jié)構(gòu)。幾個(gè)應(yīng)用程序可以共享和解析同一個(gè)XML文件,不必使用傳統(tǒng)的字符串解析或拆解過程。相反,普通文件不對(duì)每個(gè)數(shù)據(jù)段做描述(除了在頭文件中),也不保留數(shù)據(jù)關(guān)系結(jié)構(gòu)。使用XML做數(shù)據(jù)交換可以使應(yīng)用程序更具有彈性,因?yàn)榭梢杂梦恢?與普通文件一樣)或用元素名(從數(shù)據(jù)庫(kù))來存取XML數(shù)據(jù)?! SON[2](JavaScriptObjectNotation)是一種輕量級(jí)的數(shù)據(jù)交換格式,易于閱讀

3、和編寫,同時(shí)也易于機(jī)器解析和生成。它基于JavaScriptProgrammingLanguage,StandardECMA-2623rdEdition-December1999的一個(gè)子集。JSON采用完全獨(dú)立于語(yǔ)言的文本格式,但是也使用了類似于C語(yǔ)言家族的習(xí)慣(包括C,C++,C#,Java,JavaScript,Perl,Python等)。這些特性使JSON成為理想的數(shù)據(jù)交換語(yǔ)言。JSON建構(gòu)于兩種結(jié)構(gòu):名稱/值對(duì)的集合和值的有序列表??梢杂肑SON傳輸一個(gè)簡(jiǎn)單的String,Number,Boolean,也可以傳輸一個(gè)數(shù)組,或者一個(gè)復(fù)雜

4、的Object對(duì)象。  1.2XML和JSON范例  假定已經(jīng)存在一個(gè)Employee類,其有4個(gè)屬性:Name,Title,Phone和Email。下面分別用XML和JSON表示這個(gè)類的一個(gè)實(shí)例?! ?.2.1XML      Jack    721  jackhotmail.    1.2.2JSON  {  Name:Jack,  Title:developer,  Phone:721,  Email:jackhotmail.  }  2使用編程語(yǔ)言操作XML和JSON  2.1XML與JSON在項(xiàng)目中的使用方法  作為數(shù)據(jù)交換格式,X

5、ML和JSON具有語(yǔ)言無關(guān)性的特點(diǎn),可以在異構(gòu)的應(yīng)用程序之間傳遞數(shù)據(jù)。在L和JSON傳輸數(shù)據(jù)的過程基本如下所述?! ?.1.1瀏覽器 ?、偈褂脴?biāo)準(zhǔn)JavaScript語(yǔ)法創(chuàng)建對(duì)象。②把對(duì)象轉(zhuǎn)換成JSON或者XML字符串。③通常以Ajax請(qǐng)求方式發(fā)送字符串到服務(wù)器?! ?.1.2服務(wù)器 ?、俳馕鍪盏降腏SON或XML字符串,并創(chuàng)建和裝配一個(gè)類實(shí)例。②執(zhí)行相關(guān)業(yè)務(wù)邏輯。③創(chuàng)建新的對(duì)象來存儲(chǔ)要返回客戶端的數(shù)據(jù),把這個(gè)對(duì)象轉(zhuǎn)換成JSON或XML字符串并返回到瀏覽器?! ?.1.3瀏覽器 ?、偈褂肑avaScript解析收到的JSON或XML字符串,并

6、將其轉(zhuǎn)換為預(yù)定義的對(duì)象。②最后使用該對(duì)象完成對(duì)頁(yè)面元素的更新。  由于Javascript在L和JSON進(jìn)行操作。  2.2使用Javascript解析XML和JSON  如果要使用Javascript解析XML需要使用XMLDOM和編寫一定量的代碼實(shí)現(xiàn)將文本轉(zhuǎn)變?yōu)橐粋€(gè)Javascript對(duì)象。而JSON則可以通過簡(jiǎn)單的eval()函數(shù)將JSON輕松轉(zhuǎn)變?yōu)橐粋€(gè)Javascript對(duì)象。當(dāng)然,也可以使用json.js實(shí)現(xiàn)這種轉(zhuǎn)變。通過下表中列出的實(shí)例代碼,很明顯,無論是使用eval函數(shù)還是使用json.js,使用Javascript解析JSON

7、是非常簡(jiǎn)單的?! ?.2.1Javascript解析XML  varxmlDoc;  //codeforIE  if(lDoc=nelDoc.async=false;  xmlDoc.loadXML(xmlString);  }  //codeforMozilla,etc.  elseif(document.implementation  document.implementation.createDocument){  varobjDOMParser=nelDoc=objDOMParser.parseFromString(xmlString

8、,'text/xml');  }  2.2.2使用eval函數(shù)解析JSON  varstr={name:Jack,  title:developer,  phone

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。