• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      JSON在電子政務(wù)信息系統(tǒng)數(shù)據(jù)交換中的研究與應(yīng)用

      2012-04-29 00:44:03姜宇
      科技創(chuàng)新導(dǎo)報(bào) 2012年15期
      關(guān)鍵詞:電子政務(wù)瀏覽器代碼

      姜宇

      摘 要:作為當(dāng)今主流的Web開(kāi)發(fā)技術(shù),AJAX在電子政務(wù)信息系統(tǒng)中的廣泛應(yīng)用,對(duì)于提高用戶體驗(yàn)和政府辦公效率有其獨(dú)特的優(yōu)勢(shì)。但其中基于XML進(jìn)行的數(shù)據(jù)傳輸,由于需要DOM解析,導(dǎo)致占用系統(tǒng)資源較多,對(duì)于瀏覽器來(lái)說(shuō)會(huì)導(dǎo)致文件解析資源消耗嚴(yán)重的問(wèn)題。本文提出使用輕量級(jí)的JSON格式作為數(shù)據(jù)負(fù)載,摒棄了DOM對(duì)XML文件解析的復(fù)雜性,可大幅提高數(shù)據(jù)交換的速率和頁(yè)面呈現(xiàn)的實(shí)時(shí)性。

      關(guān)鍵詞:AJAXJSONXML

      中圖分類(lèi)號(hào):TM6 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-098X(2012)05(c)-0036-01

      1 引言

      隨著計(jì)算機(jī)技術(shù)和互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,社會(huì)信息化程度的高低已經(jīng)成為衡量一個(gè)國(guó)家綜合國(guó)力水平的重要標(biāo)志之一。而政府機(jī)關(guān)為適應(yīng)網(wǎng)絡(luò)信息社會(huì)的要求,更好地為國(guó)民經(jīng)濟(jì)和社會(huì)發(fā)展服務(wù),更需要加強(qiáng)各部門(mén)之間信息資源的共享,實(shí)現(xiàn)聯(lián)合辦公,提高行政效率,降低行政成本,加速信息的傳播,提高信息的使用價(jià)值[1]。這樣對(duì)電子政務(wù)信息系統(tǒng)中數(shù)據(jù)的傳輸效率提出了新的要求。

      本文對(duì)XML和JSON進(jìn)行了分析比較,提出了在AJAX環(huán)境中基于JSON的輕量級(jí)數(shù)據(jù)交換模式,對(duì)于提高政府部門(mén)辦公效率有著重要的意義。

      2 AJAX簡(jiǎn)介

      AJAX是異步JS和XML的簡(jiǎn)稱,是一種是用客戶端腳本并能與Web服務(wù)器交互的客戶端Web開(kāi)發(fā)技術(shù)。其特點(diǎn)在于AJAX是基于客戶端的,并能夠以異步的方式與服務(wù)器交互。

      3 從XML到JSON

      3.1 XML的局限性

      XML——可擴(kuò)展標(biāo)記語(yǔ)言。它是一種格

      式統(tǒng)一,跨平臺(tái)的語(yǔ)言。在數(shù)據(jù)傳送過(guò)程中,XML始終保留了諸如父/子關(guān)系這樣的數(shù)據(jù)結(jié)構(gòu)。幾個(gè)應(yīng)用程序可以共享和解析同一個(gè)XML文件,不必使用傳統(tǒng)的字符串解析或拆解過(guò)程[2]。因此在傳統(tǒng)WEB應(yīng)用程序中,使用XML已經(jīng)有效地成為客戶端與服務(wù)器之間數(shù)據(jù)交換的負(fù)載格式。隨著WEB2.0的發(fā)展,AJAX技術(shù)逐漸興起,在其構(gòu)建的WEB程序中,XML的應(yīng)用具有很大的局限性。

      由于AJAX在瀏覽器與WEB服務(wù)器之間使用異步數(shù)據(jù)傳輸HTTP請(qǐng)求以達(dá)到使網(wǎng)頁(yè)從服務(wù)器請(qǐng)求少量的信息,在不重載整個(gè)頁(yè)面的情況下與WEB服務(wù)器交換數(shù)據(jù),因此AJAX程序中的更新和導(dǎo)航序列是在客戶端/服務(wù)器環(huán)境之外完成的。信息被瀏覽器接收到后,需要整合到HTML頁(yè)面的整體布局中,這個(gè)局部刷新過(guò)程不易消耗時(shí)間過(guò)久,否則會(huì)導(dǎo)致用戶體驗(yàn)下降。盡管腳本語(yǔ)言和插件支持已使大多數(shù)主流瀏覽器的功能得到了強(qiáng)化,但許多編程任務(wù)依然難于開(kāi)展[3],這是因?yàn)閷ML作為信息交換的載體,處理操縱文本時(shí)通常是使用DOM來(lái)實(shí)現(xiàn)的。

      在客戶端接收從服務(wù)器傳輸過(guò)來(lái)的信息代碼時(shí),首先需要對(duì)服務(wù)器代碼進(jìn)行解析。如果服務(wù)器代碼是用XML編碼的,就必須調(diào)用XML解析器,通常使用DOM解析內(nèi)容。使用DOM時(shí),將把所有的XML文檔信息都存于內(nèi)存中。在信息量不是很大的時(shí)候,使用XML作為信息載體并無(wú)不妥。但隨著信息量的增多,DOM對(duì)XML的解析會(huì)出現(xiàn)明顯的復(fù)雜性,主要源于其基于函數(shù)的根,這使得對(duì)數(shù)據(jù)樹(shù)的簡(jiǎn)單訪問(wèn)和修改都需要進(jìn)行無(wú)數(shù)次的方法調(diào)用,使用DOM進(jìn)行解析時(shí),為文檔的每個(gè)element、attribute和comment都創(chuàng)建一個(gè)對(duì)象,這樣在DOM機(jī)制中所運(yùn)用大量對(duì)象的創(chuàng)建和銷(xiāo)毀,都導(dǎo)致其解析速度慢,效率低下。此外,DOM解析內(nèi)存占用量過(guò)高,對(duì)大信息量文件來(lái)說(shuō)幾乎是不可承受的。況且,DOM在各個(gè)瀏覽器中的實(shí)現(xiàn)細(xì)節(jié)不盡相同,編程模式極為復(fù)雜,跨瀏覽器兼容性出現(xiàn)問(wèn)題的可能性極大[3]。因此,需要一種更為直觀的數(shù)據(jù)封裝格式,直接采用面向?qū)ο蟮恼Z(yǔ)法來(lái)解析服務(wù)器數(shù)據(jù)。基于JSON的數(shù)據(jù)交換方式解決了這一問(wèn)題。

      3.2 JSON解決方案

      JSON是一種輕量級(jí)的數(shù)據(jù)交換格式,易于閱讀和編寫(xiě),也易于機(jī)器解析和生成。它是基于純文本的數(shù)據(jù)格式,可以被用來(lái)傳輸簡(jiǎn)單的諸如String,Number,Boolean等,也可以傳輸數(shù)組或者復(fù)雜的Object對(duì)象。JSON對(duì)象是一系列以逗號(hào)分隔的名稱/值對(duì)(name:value),最外面用一對(duì)花括號(hào)括起來(lái)。由此帶來(lái)的簡(jiǎn)潔性是XML無(wú)法比擬的,在數(shù)據(jù)傳輸時(shí),減少的數(shù)據(jù)量可以帶來(lái)性能上的提升,這是JSON的第一個(gè)優(yōu)點(diǎn)。當(dāng)JS解析和處理JSON時(shí),就突出了其第二個(gè)優(yōu)點(diǎn)。將JSON裝載到內(nèi)存時(shí),只需一個(gè)eval()調(diào)用。裝載后,就可以通過(guò)名稱直接訪問(wèn)任何字段了。相對(duì)于DOM,極大地提高了效率。

      下面針對(duì)XML和JSON的解析過(guò)程進(jìn)行對(duì)比。

      一個(gè)XML文件:

      Chengdu

      Sichuan

      China

      如果要使用JS解析XML就需要使用DOM并編寫(xiě)JS代碼將文本變?yōu)橐粋€(gè)JS對(duì)象。代碼如下:

      if (window.ActiveXObject) {

      xmlDoc = new ActiveXObject(''Microsoft.XMLDOM'');

      xmlDoc.async = false;

      xmlDoc.loadXML(xmlString);

      }

      這是一個(gè)JSON對(duì)象:{"city":"Chengdu","province":"Sichuan","coun":"China"}。

      裝載JSON并調(diào)用字段,

      var json= {"city":"Chengdu","pro":"Sichuan","coun":"China"};

      var result=eval(‘(‘+json+));

      alert(result.city);

      這樣就可以通過(guò)JavaScript直接對(duì)JSON字符串進(jìn)行解析并獲取對(duì)象信息了。

      在AJAX應(yīng)用中,JSON除了大幅提高解析速度以外,在以下方面也發(fā)揮了獨(dú)特的優(yōu)勢(shì)地位:

      (1)數(shù)據(jù)類(lèi)型。

      XML本身沒(méi)有數(shù)據(jù)類(lèi)型概念,它通過(guò)Schema來(lái)定義數(shù)據(jù)類(lèi)型。而JSON則提供數(shù)據(jù)類(lèi)型的支持,并通過(guò)使用對(duì)象和數(shù)組可以表現(xiàn)結(jié)構(gòu)化數(shù)據(jù)。

      (2)表示數(shù)組。

      在XML中,需要許多開(kāi)始標(biāo)記和結(jié)束標(biāo)記,數(shù)組形式通常被表示為一個(gè)父元素包含數(shù)個(gè)相同的子元素。而JSON對(duì)數(shù)組是原生支持的。

      (3)占用空間大小。

      從表現(xiàn)形式來(lái)看,XML很明顯代碼臃腫,這主要源于XML的特性,每個(gè)元素必須要有開(kāi)始和結(jié)束標(biāo)簽。而JSON更加簡(jiǎn)潔明了,相同的信息用JSON來(lái)表示可以節(jié)省更大的空間使用。在互聯(lián)網(wǎng)應(yīng)用中,對(duì)于相同的信息量在相同帶寬環(huán)境下,JSON會(huì)以更小的體積更快速地發(fā)送。

      4 結(jié)語(yǔ)

      在AJAX構(gòu)建的電子政務(wù)信息系統(tǒng)中,使用XML作為數(shù)據(jù)傳送的載體尤其局限性,JSON作為輕量級(jí)的數(shù)據(jù)交換格式,在AJAX應(yīng)用中優(yōu)勢(shì)明顯。本文從多角度對(duì)二者進(jìn)行了比較和區(qū)別,使用JSON作為數(shù)據(jù)交換的載體,可以提高系統(tǒng)響應(yīng)速度,降低等待時(shí)間,對(duì)于提高系統(tǒng)資源利用率有著很大的貢獻(xiàn)價(jià)值。

      參考文獻(xiàn)

      [1] 李昕.電子政務(wù)信息資源共享的保障研究.江西圖書(shū)館學(xué)刊,2009.

      [2] 胡千里.比較XML與JSON在Web中的應(yīng)用.信息技術(shù).

      [3] 胡曉鋒.JSON與XML在網(wǎng)絡(luò)數(shù)據(jù)傳輸中的應(yīng)用分析.

      猜你喜歡
      電子政務(wù)瀏覽器代碼
      論基于云的電子政務(wù)服務(wù)平臺(tái)構(gòu)建
      反瀏覽器指紋追蹤
      電子制作(2019年10期)2019-06-17 11:45:14
      創(chuàng)世代碼
      創(chuàng)世代碼
      創(chuàng)世代碼
      創(chuàng)世代碼
      環(huán)球?yàn)g覽器
      電子政務(wù)工程項(xiàng)目績(jī)效評(píng)價(jià)研究
      再見(jiàn),那些年我們嘲笑過(guò)的IE瀏覽器
      中國(guó)電子政務(wù)的“短板”
      郁南县| 双峰县| 兴义市| 巢湖市| 额济纳旗| 台南市| 寿阳县| 福建省| 唐河县| 永清县| 建德市| 巴塘县| 沙雅县| 报价| 北京市| 平安县| 唐山市| 齐齐哈尔市| 兴仁县| 陇西县| 榆中县| 寻甸| 依兰县| 常熟市| 绥芬河市| 涿州市| 灵武市| 柯坪县| 德格县| 大宁县| 曲麻莱县| 水城县| 河南省| 扎赉特旗| 峨边| 华蓥市| 乌兰浩特市| 朝阳区| 临湘市| 宝应县| 乃东县|