詳細(xì)說明JSON數(shù)據(jù)的種種功能說明
JSON數(shù)據(jù)的訪問相對(duì)于XML要簡(jiǎn)單很多??梢匀缤琂avaScript對(duì)象一樣訪問JSON數(shù)據(jù)。例如在上述JSON數(shù)據(jù)中,我們要訪問第一個(gè)學(xué)生的姓名,只要寫:StudentsJSON.student[0].name就可以了。
實(shí)例研究
雅虎為我們提供了一個(gè)圖片搜索Web服務(wù),URL為:http://search.yahooapis.com/ImageSearchService/V1/imageSearch。這個(gè)Web服務(wù)支持返回JSON格式數(shù)據(jù)。該Web服務(wù)接受的參數(shù)為如下
只要?jiǎng)討B(tài)構(gòu)建該URL并加入動(dòng)態(tài)創(chuàng)建的script標(biāo)簽中的src屬性中即可獲得Web服務(wù)返回的JSON數(shù)據(jù)。查詢的結(jié)果都在ResultSet.Result[0]數(shù)組中。當(dāng)我們構(gòu)建好查詢網(wǎng)頁后,可以在本機(jī)上用IE或Firefox等瀏覽器直接打開該網(wǎng)頁并測(cè)試。
實(shí)驗(yàn)結(jié)果及比較
可以看到采用動(dòng)態(tài)script標(biāo)簽技術(shù)結(jié)合JSON數(shù)據(jù)交換格式的方法使得跨域訪問Web服務(wù)非常的容易。然而在Web服務(wù)中使用JSON數(shù)據(jù)交換格式相對(duì)于XML又有那些優(yōu)缺點(diǎn)呢?下面從五個(gè)方面進(jìn)行分析。#t#
可讀性:JSON和XML的可讀性可謂不相上下,JSON采用常見的語法數(shù)據(jù)結(jié)構(gòu),XML使用的是規(guī)范的標(biāo)簽形式??蓴U(kuò)展性:XML天生有很好的擴(kuò)展性,而JSON也不遜于XML。
編碼難度:XML有豐富的編碼工具,比如Dom4j、JDom等,JSON也有json.org提供的工具,但是JSON的編碼明顯比XML容易許多,即使不借助工具也能寫出JSON的代碼,可是要寫好XML就不太容易了。
解碼難度:XML的解析得考慮子節(jié)點(diǎn)父節(jié)點(diǎn),讓人頭昏眼花,而JSON的解析難度幾乎為0。這一點(diǎn)XML輸?shù)恼媸菦]話說。流行度:XML已經(jīng)被業(yè)界廣泛的使用,而JSON才剛剛開始,但是在Ajax這個(gè)特定的領(lǐng)域。
未來的發(fā)展也許XML要讓位于JSON。到時(shí)Ajax就應(yīng)該變成Ajaj (Asynchronous JavaScript and JSON)了。