<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Nomad & His Life

    博觀而約取,厚積而薄發(fā)
    posts - 15, comments - 88, trackbacks - 0, articles - 0
      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    Ajax:擁抱JSON,讓XML走開(kāi)

    Posted on 2006-10-01 10:39 Nomad 閱讀(6768) 評(píng)論(33)  編輯  收藏 所屬分類: Ajax
    版權(quán)所有,轉(zhuǎn)載請(qǐng)注明,來(lái)自www.jialing.net

    Ajax(Asynchronous JavaScript and XML)說(shuō)到底就是一種瀏覽器異步讀取服務(wù)器上XML內(nèi)容的技術(shù)。現(xiàn)在的技術(shù)凡是跟XML扯上關(guān)系,再加上個(gè)概念做幌子,就像金裝了一樣,拽得不行。門(mén)外的人看得很是熱鬧,門(mén)里的人搖搖頭不外如是。XML呢,跨平臺(tái)的新潮語(yǔ)言?其實(shí)XML=TXT。XML只是符合很多規(guī)范的文本。它本身什么都不是,只是保存字符的文件。而瀏覽器異步讀取的只是服務(wù)器上的文本內(nèi)容,所以在Ajax開(kāi)發(fā)時(shí)完全不必拘泥于XML。[版權(quán)所有,www.jialing.net]


    • JSON的來(lái)歷

    XML的作用是格式化數(shù)據(jù)內(nèi)容。如果我們不用XML還有什么更好的方法嗎?這個(gè)答案是JSON。介紹JSON之前我先介紹一下JavaScript這門(mén)腳本語(yǔ)言。腳本語(yǔ)言自身有動(dòng)態(tài)執(zhí)行的天賦。即我們可以把想要執(zhí)行的語(yǔ)句放在字符串里,通過(guò)eval()這個(gè)動(dòng)態(tài)執(zhí)行函數(shù)來(lái)執(zhí)行。字符串里的內(nèi)容會(huì)像我們寫(xiě)的腳本一樣被執(zhí)行。
    示例1:
    <HTML>
    <HEAD>
    <TITLE>eval?example?1</TITLE>
    </HEAD>
    <BODY>
    <script>
    str?
    =?"alert('hello')";
    eval(str);
    </script>
    </BODY>
    </HTML>

    打開(kāi)頁(yè)面會(huì)彈出hello窗口。
    我們可以在字符串中放任何腳本語(yǔ)句,包括聲明語(yǔ)句:
    <HTML>
    <HEAD>
    <TITLE>eval?example?2</TITLE>
    </HEAD>
    <BODY>
    <script>
    define?
    =?"{name:'Michael',email:'17bity@gmail.com'}";
    eval(
    "data?=?"+define);
    alert(
    "name:"+data.name);
    alert(
    "email:"+data.email);
    </script>
    </BODY>
    </HTML>

    如果我們?cè)诤笈_(tái)異步傳來(lái)的文本是JavaScript的聲明語(yǔ)句,那么不是一條eval方法就能解析了?對(duì)于解析復(fù)雜的XML,這樣的效率是多么大的提高啊!
    現(xiàn)在就來(lái)告訴你什么是JSON:JavaScript Object Notation。我更愿意把它翻譯為JavaScript對(duì)象聲明。比如要從后臺(tái)載入一些通訊錄的信息,如果寫(xiě)成XML,如下:

    <contact>
    ????
    <friend>
    ????????
    <name>Michael</name>
    ????????
    <email>17bity@gmail.com</email>
    ????????
    <homepage>http://www.jialing.net</homepage>
    ????
    </friend>
    ????
    <friend>
    ????????
    <name>John</name>
    ????????
    <email>john@gmail.com</email>
    ????????
    <homepage>http://www.john.com</homepage>
    ????
    </friend>
    ????
    <friend>
    ????????
    <name>Peggy</name>
    ????????
    <email>peggy@gmail.com</email>
    ????????
    <homepage>http://www.peggy.com</homepage>
    ????
    </friend>
    </contact>


    而寫(xiě)成JSON呢:
    [
    ?{
    ???name:
    "Michael",
    ???email:
    "17bity@gmail.com",
    ???homepage:
    "http://www.jialing.net"
    ?},
    ?{
    ???name:
    "John",
    ???email:
    "john@gmail.com",
    ???homepage:
    "http://www.jobn.com"
    ?},
    ?{
    ???name:
    "Peggy",
    ???email:
    "peggy@gmail.com",
    ???homepage:
    "http://www.peggy.com"
    ?}
    ]



    簡(jiǎn)單的不只是表達(dá)上,最重要的是可以丟棄讓人暈頭轉(zhuǎn)向的DOM解析了。因?yàn)橹灰螶avaScript的聲明規(guī)范,JavaScrip會(huì)自動(dòng)幫你解析好的。Ajax中使用JSON的基本方法是前臺(tái)載入后臺(tái)聲明JavaScript對(duì)象的字符串,用eval方法來(lái)將它轉(zhuǎn)為實(shí)際的對(duì)象,最后通過(guò)DHTML更新頁(yè)面信息。

    • JSON的格式

    JSON的基本格式如下,圖片來(lái)自json.org:
    對(duì)象是屬性、值對(duì)的集合。一個(gè)對(duì)象的開(kāi)始于"{",結(jié)束于"}"。每一個(gè)屬性名和值間用":"提示,屬性間用","分隔。
    object.gif


    數(shù)組是有順序的值的集合。一個(gè)數(shù)組開(kāi)始于"[",結(jié)束于"]",值之間用","分隔。
    array.gif


    值可以是引號(hào)里的字符串、數(shù)字、true、false、null,也可以是對(duì)象或數(shù)組。這些結(jié)構(gòu)都能嵌套。
    value.gif


    字符串的定義和C或Java基本一致。
    string.gif


    數(shù)字的定義也和C或Java基本一致。
    number.gif


    • JSON VS XML

    可讀性
    JSON和XML的可讀性可謂不相上下,一邊是建議的語(yǔ)法,一邊是規(guī)范的標(biāo)簽形式,很難分出勝負(fù)。

    可擴(kuò)展性

    XML天生有很好的擴(kuò)展性,JSON當(dāng)然也有,沒(méi)有什么是XML能擴(kuò)展,JSON不能的。

    編碼難度
    XML有豐富的編碼工具,比如Dom4j、JDom等,JSON也有json.org提供的工具,但是JSON的編碼明顯比XML容易許多,即使不借助工具也能寫(xiě)出JSON的代碼,可是要寫(xiě)好XML就不太容易了。

    解碼難度
    XML的解析得考慮子節(jié)點(diǎn)父節(jié)點(diǎn),讓人頭昏眼花,而JSON的解析難度幾乎為0。這一點(diǎn)XML輸?shù)恼媸菦](méi)話說(shuō)。

    流行度

    XML已經(jīng)被業(yè)界廣泛的使用,而JSON才剛剛開(kāi)始,但是在Ajax這個(gè)特定的領(lǐng)域,未來(lái)的發(fā)展一定是XML讓位于JSON。到時(shí)Ajax應(yīng)該變成Ajaj(Asynchronous JavaScript and JSON)了。

    [版權(quán)所有,www.jialing.net]


    附:
    JSON.org : http://www.json.org/
    JSON in JavaScript : http://www.json.org/js.html
    JSON: The Fat-Free Alternative to XML : http://www.json.org/xml.html
    JSON and the Dynamic Script Tag: Easy, XML-less Web Services for JavaScript: http://www.xml.com/pub/a/2005/12/21/json-dynamic-script-tag.html
    Using JSON (JavaScript Object Notation) with Yahoo! Web Services: http://developer.yahoo.com/common/json.html

    評(píng)論

    # re: Ajax:擁抱JSON,讓XML走開(kāi)  回復(fù)  更多評(píng)論   

    2006-10-01 11:09 by 慈悲魚(yú)
    不錯(cuò)啊.XML的解析與修改,讓人比較煩

    收藏,下次http返回就不用xml格式了,直接返回JSON格式.
    用js,運(yùn)行一下.

    # re: Ajax:擁抱JSON,讓XML走開(kāi)  回復(fù)  更多評(píng)論   

    2006-10-01 11:20 by 慈悲魚(yú)
    <script>
    //數(shù)組
    arr="[1,2,3]";
    eval("data = "+define);
    eval("test1 = "+arr);
    alert("test1:"+test1[1]);
    </script>

    一個(gè)數(shù)組的例子

    # re: Ajax:擁抱JSON,讓XML走開(kāi)  回復(fù)  更多評(píng)論   

    2006-10-01 12:25 by 江南白衣
    不錯(cuò),json.org有提供什么函數(shù)可以像XML里xstream那樣,直接binding java對(duì)象嗎?

    # re: Ajax:擁抱JSON,讓XML走開(kāi)  回復(fù)  更多評(píng)論   

    2006-10-01 13:14 by Nomad
    @江南白衣
    當(dāng)然有了,參見(jiàn)http://json-lib.sourceforge.net
    http://json-lib.sourceforge.net/usage.html

    # re: Ajax:擁抱JSON,讓XML走開(kāi)  回復(fù)  更多評(píng)論   

    2006-10-01 15:35 by jeffjie
    http://json-lib.sourceforge.net 上面的包相對(duì)完備,不過(guò)依賴挺多的第三記包.
    上一個(gè)項(xiàng)目里我直接用Json.org上面提供的Java文件來(lái)打了一個(gè)小包,輕便得多.

    # re: Ajax:擁抱JSON,讓XML走開(kāi)  回復(fù)  更多評(píng)論   

    2006-10-01 18:07 by mixlee
    xml對(duì)tree結(jié)構(gòu)的處理還有優(yōu)勢(shì)的,其他數(shù)據(jù)結(jié)構(gòu)用JSON最好

    # re: Ajax:擁抱JSON,讓XML走開(kāi)  回復(fù)  更多評(píng)論   

    2006-10-01 18:57 by 江南白衣
    http://json-lib.sourceforge.net/usage.html 看起來(lái)很不錯(cuò)。

    # re: Ajax:擁抱JSON,讓XML走開(kāi)  回復(fù)  更多評(píng)論   

    2006-10-01 20:13 by JonneyQuest
    很好,可以彌補(bǔ)AJAX的一些缺點(diǎn)。

    # re: Ajax:擁抱JSON,讓XML走開(kāi)  回復(fù)  更多評(píng)論   

    2006-10-02 09:49 by Zhang
    全用javascript會(huì)不會(huì)太慢?象msn spaces那樣。

    # re: Ajax:擁抱JSON,讓XML走開(kāi)  回復(fù)  更多評(píng)論   

    2006-10-02 10:10 by Nomad
    @Zhang
    我想JSON的速度肯定比解析XML快很多。

    # re: Ajax:擁抱JSON,讓XML走開(kāi)  回復(fù)  更多評(píng)論   

    2006-10-03 23:02 by emu
    >>現(xiàn)在的技術(shù)凡是跟XML扯上關(guān)系,再加上個(gè)概念做幌子,就像金裝了一樣,拽得不行。
    xml早過(guò)了幼稚期了,樓主在講的是多少年前的歷史?

    >>門(mén)外的人看得很是熱鬧,門(mén)里的人搖搖頭不外如是。
    不知道樓主在門(mén)里站了多久了?xml的優(yōu)點(diǎn)都了解了嗎?

    >>XML的作用是格式化數(shù)據(jù)內(nèi)容。如果我們不用XML還有什么更好的方法嗎?這個(gè)答案是JSON。
    在某些情形下xml適合的數(shù)據(jù)包裝方法不等于就是“更好的方法”,json也不會(huì)總是惟一的“答案”。完全可以想像在某些更特殊的情形下,有比xml和json更適合的包裝方法。


    >>JSON VS XML

    >>可讀性
    >>JSON和XML的可讀性可謂不相上下,一邊是建議的語(yǔ)法,一邊是規(guī)范的標(biāo)簽形式,很難分出勝負(fù)。
    還算公道

    >>可擴(kuò)展性
    >>XML天生有很好的擴(kuò)展性,JSON當(dāng)然也有,沒(méi)有什么是XML能擴(kuò)展,JSON不能的。
    不知道樓主對(duì)擴(kuò)展性有什么理解?xml靈活到可以描述自身,json能整個(gè)json schema出來(lái)嗎?

    >>編碼難度
    >>XML有豐富的編碼工具,比如Dom4j、JDom等,JSON也有json.org提供的工具,但是JSON的編碼明顯比XML容易許多,即使不借助工具也能寫(xiě)出JSON的代碼,可是要寫(xiě)好XML就不太容易了。
    這就有失公允和混淆概念了。
    若是光論不借助工具要‘寫(xiě)出’xml或者json,xml很可能比json更不容易犯錯(cuò)。比如上面樓主寫(xiě)錯(cuò)的json例子,如果用xml寫(xiě)估計(jì)就不會(huì)出錯(cuò)。
    不過(guò)“比如Dom4j、JDom等,JSON也有json.org提供的工具”這寫(xiě)主要都是解析json和xml的工具,而不只是“寫(xiě)”json和xml的工具。真正的不借助工具解析json也是不行的,我們?cè)趈avascript的運(yùn)行環(huán)境里面不需要借助其他工具,是因?yàn)槲覀兘柚鷍avascript解析引擎在做這個(gè)工作。

    >>解碼難度
    >>XML的解析得考慮子節(jié)點(diǎn)父節(jié)點(diǎn),讓人頭昏眼花,而JSON的解析難度幾乎為0。這一點(diǎn)XML輸?shù)恼媸菦](méi)話說(shuō)。
    這就顛倒黑白了。xml的解析和json一樣都需要考慮子節(jié)點(diǎn)父節(jié)點(diǎn),因?yàn)槎际且粯拥囊蕾囉跇?shù)狀的數(shù)據(jù)結(jié)構(gòu),不能用json描述了一個(gè)簡(jiǎn)單數(shù)據(jù)而用xml描述一個(gè)復(fù)雜的樹(shù)狀數(shù)據(jù)來(lái)胡亂比較吧。

    >>流行度
    >>XML已經(jīng)被業(yè)界廣泛的使用,而JSON才剛剛開(kāi)始,但是在Ajax這個(gè)特定的領(lǐng)域,未來(lái)的發(fā)展一定是XML讓位于JSON。到時(shí)Ajax應(yīng)該變成Ajaj(Asynchronous JavaScript and JSON)了。

    不知道何以見(jiàn)得未來(lái)一定是xml讓位于json呢?

    # re: Ajax:擁抱JSON,讓XML走開(kāi)  回復(fù)  更多評(píng)論   

    2006-10-03 23:24 by Nomad
    @emu
    emu兄說(shuō)的確實(shí)有道理,小弟先學(xué)習(xí)了。
    有時(shí)候我們喜歡一門(mén)技術(shù),就像女朋友一樣,在我們眼里她是最好的。我說(shuō)那么多根本的目的就是希望有更多的人了解JSON,使用JSON,最后喜歡上JSON。我這邊夸得正起勁,emu兄來(lái)個(gè)當(dāng)頭棒喝,真是讓我不知道怎么說(shuō)下去。總之,各有各的喜好,各有各的觀點(diǎn),我想我是不需要爭(zhēng)辯的。

    # re: Ajax:擁抱JSON,讓XML走開(kāi)  回復(fù)  更多評(píng)論   

    2006-10-04 11:43 by emu
    一邊說(shuō)有道理,一邊刪了我一個(gè)回復(fù)……
    和你一樣,我也喜歡json。熱愛(ài)技術(shù)的人才接受不了別人在闡述自己熱愛(ài)的技術(shù)的時(shí)候漏洞百出,讓不了解的人以為這個(gè)技術(shù)如此而已。
    注意到你的修改了,不過(guò)我認(rèn)為你的修改還是不對(duì),這回不是語(yǔ)法問(wèn)題了,而是和上面給出的xml沒(méi)有充分對(duì)照關(guān)系。而且json數(shù)據(jù)本身也失去了充分的自說(shuō)明性,從{
    name:"Michael",
    email:"17bity@gmail.com",
    homepage:"http://www.jialing.net"
    }中如何可以看出這是一個(gè)friend的數(shù)據(jù)而不是一個(gè)學(xué)生或者客戶的數(shù)據(jù)呢?這樣你的json數(shù)據(jù)在和上面的xml相比的時(shí)候未免輸了半籌。其實(shí)昨天的friend屬性名是必要的,只是你沒(méi)有寫(xiě)對(duì)而已。

    其實(shí)做一個(gè)討論技術(shù)的回復(fù)并不比寫(xiě)一篇灌水的blog輕松。我一向認(rèn)為一個(gè)認(rèn)真嚴(yán)謹(jǐn)?shù)幕貜?fù)是對(duì)作者辛勤碼字的尊重,而看到自己的作品被人無(wú)故刪除,不論是blog還是comment,都讓人感覺(jué)不那么舒服。

    <BODY>
    <xml id="xmldata">
    <contact>
    <friend>
    <name>Michael</name>
    <email>17bity@gmail.com</email>
    <homepage>http://www.jialing.net</homepage>
    </friend>
    <friend>
    <name>John</name>
    <email>john@gmail.com</email>
    <homepage>http://www.john.com</homepage>
    </friend>
    <friend>
    <name>Peggy</name>
    <email>peggy@gmail.com</email>
    <homepage>http://www.peggy.com</homepage>
    </friend>
    </contact>
    </xml>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    var jsondata = {contact:{friend:[
    {
    name:"Michael",
    email:"17bity@gmail.com",
    homepage:"http://www.jialing.net"
    },
    {
    name:"John",
    email:"john@gmail.com",
    homepage:"http://www.jobn.com"
    },
    {
    name:"Peggy",
    email:"peggy@gmail.com",
    homepage:"http://www.peggy.com"
    }
    ]}}
    alert(xmldata.selectSingleNode("contact/friend[2]/name").text)
    alert(jsondata.contact.friend[2].name)
    //-->
    </SCRIPT>
    </BODY>

    # re: Ajax:擁抱JSON,讓XML走開(kāi)  回復(fù)  更多評(píng)論   

    2006-10-04 11:46 by emu
    這個(gè)blog有個(gè)地方討厭的很,貼回復(fù)的時(shí)候出現(xiàn) http:// 字樣就會(huì)自動(dòng)多出些東西來(lái)……
    homepage:"http://www.jialing.net"">http://www.jialing.net"
    應(yīng)該是 homepage:"http://www.jialing.net"

    博觀而約取,厚積而薄發(fā),樓主的座右銘不錯(cuò)。

    # re: Ajax:擁抱JSON,讓XML走開(kāi)  回復(fù)  更多評(píng)論   

    2006-10-04 18:36 by 冰川
    Ajax(Asynchronous JavaScript and XML)說(shuō)到底就是一種瀏覽器異步讀取服務(wù)器上XML內(nèi)容的技術(shù)。現(xiàn)在的技術(shù)凡是跟XML扯上關(guān)系,再加上個(gè)概念做幌子,就像金裝了一樣,拽得不行----------樓主的這段話我還是同意
    門(mén)外的人看得很是熱鬧,門(mén)里的人搖搖頭不外如是---這句話我看著就不太舒服
    因?yàn)椋乙粋€(gè)三年工作經(jīng)驗(yàn)的人也成了門(mén)外漢了。。。

    XML即可擴(kuò)展標(biāo)記語(yǔ)言(eXtensible Markup Language)。標(biāo)記是指計(jì)算機(jī)所能理解的信息符號(hào),通過(guò)此種標(biāo)記,計(jì)算機(jī)之間可以處理包含各種信息的文章等。如何定義這些標(biāo)記,既可以選擇國(guó)際通用的標(biāo)記語(yǔ)言,比如HTML,也可以使用象XML這樣由相關(guān)人士自由決定的標(biāo)記語(yǔ)言,這就是語(yǔ)言的可擴(kuò)展性。XML是從SGML中簡(jiǎn)化修改出來(lái)的。它主要用到的有XML、XSL和XPath等。

    它是一種得到業(yè)界廣泛支持的語(yǔ)言,參與開(kāi)發(fā)它的世界軟件巨頭有:IBM、Microsoft、SUN、Oracle、BEA、Tibco、IONA 。。。等等

    它對(duì)于互連網(wǎng)數(shù)據(jù)傳輸?shù)呢暙I(xiàn)是無(wú)可比擬的,它也定義了目前相當(dāng)完美的數(shù)據(jù)格式規(guī)范。

    而這篇文章中提到的JSON只是一種方便界面開(kāi)發(fā)的一種技術(shù),它的使用范圍只限定于方便某項(xiàng)功能的實(shí)現(xiàn),連跟XML比的資格都沒(méi)有啊,如果你拿Java和XML比對(duì)于業(yè)界的貢獻(xiàn)誰(shuí)大,那我都沒(méi)意見(jiàn)(我會(huì)說(shuō)Java的貢獻(xiàn)要更大一點(diǎn))。

    如果這篇帖子是BLOG的主人的原創(chuàng)的話,請(qǐng)你想一下JSON格式的數(shù)據(jù)能方便在網(wǎng)絡(luò)上進(jìn)行數(shù)據(jù)交換嗎?JSON格式的數(shù)據(jù)能序列化和反序列話嗎?

    如果這篇帖子是BLOG的主人的原創(chuàng)的話,請(qǐng)確定對(duì)技術(shù)很熟悉了才能去比較它們,不然是會(huì)誤導(dǎo)別人的。


    # re: Ajax:擁抱JSON,讓XML走開(kāi)  回復(fù)  更多評(píng)論   

    2006-10-04 18:58 by 冰川
    請(qǐng)注意XML是一種規(guī)范,它包括很多技術(shù)的。
    剛看了BLOG主人給emu的回帖,我還是能理解的。
    我上面的回帖只對(duì)帖子,不是對(duì)人的啊~~~
    還好這篇貼字是放在BLOGJAVA上,要是放在XML技術(shù)論壇上的話。。。
    哈哈,好了,還是支持主人貢獻(xiàn)技術(shù)文章!!!

    # re: Ajax:擁抱JSON,讓XML走開(kāi)  回復(fù)  更多評(píng)論   

    2006-10-04 19:22 by 冰川
    @Nomad
    最后,我的經(jīng)驗(yàn)表明,速度快的Web表示層不要用JavaScript。

    # re: Ajax:擁抱JSON,讓XML走開(kāi)  回復(fù)  更多評(píng)論   

    2006-10-05 00:09 by Nomad
    @冰川
    很高興,今天上來(lái)又看到有人拍磚了。
    我這篇文章從題目到結(jié)尾,都講的是在Ajax這個(gè)“小”領(lǐng)域里,前后臺(tái)之間的交互,JSON相對(duì)于XML有不可比擬的優(yōu)勢(shì),我并沒(méi)有說(shuō)以后在哪都不需要XML了。我的話可能是有些偏激,但請(qǐng)大家理解我的初衷。

    # re: Ajax:擁抱JSON,讓XML走開(kāi)  回復(fù)  更多評(píng)論   

    2006-10-06 08:44 by 郭大俠
    原文寫(xiě)得太好了,雖然稍微有點(diǎn)傾向。看來(lái)以后的項(xiàng)目可以作為一種參考。

    # re: Ajax:擁抱JSON,讓XML走開(kāi)  回復(fù)  更多評(píng)論   

    2006-10-07 12:15 by emu
    >>我這篇文章從題目到結(jié)尾,都講的是在Ajax這個(gè)“小”領(lǐng)域里,前后臺(tái)之間的交互,JSON相對(duì)于XML有不可比擬的優(yōu)勢(shì),我并沒(méi)有說(shuō)以后在哪都不需要XML了。

    真的如此嗎?

    >>現(xiàn)在的技術(shù)凡是跟XML扯上關(guān)系,再加上個(gè)概念做幌子,就像金裝了一樣,拽得不行。門(mén)外的人看得很是熱鬧,門(mén)里的人搖搖頭不外如是。

    # re: Ajax:擁抱JSON,讓XML走開(kāi)  回復(fù)  更多評(píng)論   

    2006-10-14 11:04 by 坎井之蛙
    反對(duì):“JSON相對(duì)于XML有不可比擬的優(yōu)勢(shì)”,支持:樓主的精神!
    博觀而約取,厚積而薄發(fā)!像你致敬! 呵呵!寫(xiě)文章有時(shí)候真的是件很累的事情哦!

    # re: Ajax:擁抱JSON,讓XML走開(kāi)  回復(fù)  更多評(píng)論   

    2006-10-15 16:38 by swallor
    幾樓的朋友?說(shuō)json與xml比不能序列化?XML最大的特點(diǎn)是結(jié)構(gòu)化的文檔定義,xml文件可以很簡(jiǎn)單,如樓主的例子,也可以是復(fù)雜,如果你了解schemal ,就會(huì)認(rèn)為XML是一種真正的語(yǔ)言,而json很“輕”。什么在網(wǎng)絡(luò)上數(shù)據(jù)交換,序列化反序列化,又不是XML的專利,實(shí)現(xiàn)JSON序列化有什么不能的嗎?人家已經(jīng)提供了 http://cfopen.org/projects/json-serializer/%20

    # re: Ajax:擁抱JSON,讓XML走開(kāi)  回復(fù)  更多評(píng)論   

    2006-11-20 16:36 by SeamanWang
    如樓主例子中的xml的復(fù)雜程度,我也可以寫(xiě)一個(gè)“通用”的js解析函數(shù),將xml解析成js對(duì)象;
    而且在編碼問(wèn)題上,我認(rèn)為都是通過(guò)程序來(lái)編碼,很少需要人工編碼;
    在這兩方面,JSON不見(jiàn)得比XML有多大優(yōu)勢(shì)。
    不知道樓主怎么看。

    # re: Ajax:擁抱JSON,讓XML走開(kāi)  回復(fù)  更多評(píng)論   

    2006-11-20 17:39 by Nomad
    @SeamanWang
    如果用通用的XML解析函數(shù),效率問(wèn)題就值得探討了,再加上怎么通用,不同的實(shí)現(xiàn)可能有不同的標(biāo)準(zhǔn),學(xué)習(xí)和使用可能會(huì)多一道坎。

    # re: Ajax:擁抱JSON,讓XML走開(kāi)  回復(fù)  更多評(píng)論   

    2006-12-16 19:15 by 1212122

    111

    # re: Ajax:擁抱JSON,讓XML走開(kāi)  回復(fù)  更多評(píng)論   

    2007-01-25 09:25 by abba
    json確實(shí)是好東西
    xml整潔而且信息量多

    有個(gè)千秋,但是追求效率還是json
    意見(jiàn)完畢

    # re: Ajax:擁抱JSON,讓XML走開(kāi)  回復(fù)  更多評(píng)論   

    2007-04-03 11:14 by nebulayao
    更加堅(jiān)定了我用json作為后臺(tái)傳給ajax數(shù)據(jù)的決心,好文

    # re: Ajax:擁抱JSON,讓XML走開(kāi)  回復(fù)  更多評(píng)論   

    2007-04-12 22:40 by Tong Jie
    JSON格式的數(shù)據(jù)能序列化和反序列話嗎?

    你理解序列化的意思嗎?當(dāng)然可以,否則怎么作為數(shù)據(jù)交互的容器?

    # re: Ajax:擁抱JSON,讓XML走開(kāi)  回復(fù)  更多評(píng)論   

    2007-09-06 19:48 by 不在偏激
    沒(méi)用過(guò)JSON 有點(diǎn)熟悉XML lz說(shuō)XML=TXT倒不如說(shuō)的更徹底些:XML就是一系列0、1組成的數(shù)列,這樣什么Oracle,java ,windows也沒(méi)啥可牛的。

    # re: Ajax:擁抱JSON,讓XML走開(kāi)  回復(fù)  更多評(píng)論   

    2008-05-08 19:54 by star
    兩人爭(zhēng)得很激烈...我正在看JSON..找個(gè)自己需要的東西.不評(píng)論誰(shuí)好誰(shuí)壞.

    # re: Ajax:擁抱JSON,讓XML走開(kāi)  回復(fù)  更多評(píng)論   

    2008-05-22 09:23 by 藍(lán)鯨
    我剛剛在AJAX里用了JSON,個(gè)人感覺(jué)是這樣的,如果數(shù)據(jù)量不多,用JSON還是比較方便的,但如果比較多,就不如用XML了,用XML在編碼的時(shí)候感覺(jué)思路更清晰一些,可能是習(xí)慣了XML吧.

    # re: Ajax:擁抱JSON,讓XML走開(kāi)  回復(fù)  更多評(píng)論   

    2008-09-27 10:43 by qianwt
    感覺(jué)用JSON的好處就是, 對(duì)于跨瀏覽器方面方便些,畢竟服務(wù)器返回的JSON串,到JavaScript里就直接可以用了,好像創(chuàng)建XML對(duì)象要麻煩些, 也不知道說(shuō)的對(duì)不對(duì)

    # re: Ajax:擁抱JSON,讓XML走開(kāi)  回復(fù)  更多評(píng)論   

    2009-06-03 12:19 by 等待花兒都謝了
    2009年6月了.
    不知道如今的兩者關(guān)系有沒(méi)有變化.

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲电影免费观看| 久久久影院亚洲精品| 亚洲人成无码网站在线观看| 永久看日本大片免费35分钟| 亚洲2022国产成人精品无码区| 中文字幕无码日韩专区免费| 亚洲成色WWW久久网站| 精品四虎免费观看国产高清午夜| 亚洲高清国产AV拍精品青青草原 | 亚洲国产精品成人网址天堂| 特级av毛片免费观看| 亚洲视频在线精品| a毛片免费全部播放完整成| 国产亚洲人成无码网在线观看| 久久精品一区二区免费看| 亚洲永久中文字幕在线| 亚洲免费福利在线视频| 日日摸日日碰夜夜爽亚洲| 国产亚洲精品拍拍拍拍拍| 免费在线看黄网站| 亚洲区视频在线观看| 国产成人无码区免费A∨视频网站| 青青视频免费在线| 亚洲AV无码专区电影在线观看 | 污污免费在线观看| 中文字幕亚洲一区| 6080午夜一级毛片免费看 | 亚洲粉嫩美白在线| 又爽又黄无遮挡高清免费视频 | 日本三级2019在线观看免费| 亚洲国产精品无码久久| 亚洲精品乱码久久久久66| 国产成人精品免费视频大全麻豆| 亚洲乱妇老熟女爽到高潮的片| 国产AⅤ无码专区亚洲AV| 在线看免费观看AV深夜影院| 日本高清不卡中文字幕免费| 亚洲视频中文字幕在线| 免费一级毛片在播放视频| 91精品国产免费久久国语蜜臀 | 亚洲免费视频网站|