亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Ajax:擁抱JSON,讓XML走開

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

  JSON的來歷

  XML 的作用是格式化數據內容。如果我們不用XML還有什么更好的方法嗎?這個答案是JSON。介紹JSON之前我先介紹一下JavaScript這門腳本語 言。腳本語言自身有動態執行的天賦。即我們可以把想要執行的語句放在字符串里,通過eval()這個動態執行函數來執行。字符串里的內容會像我們寫的腳本 一樣被執行。

  示例1:

<HTML>
<HEAD>
 <TITLE>eval example 1</TITLE>
</HEAD>
<BODY>
 <script>
  str = "alert('hello')";
  eval(str);
 </script>
</BODY>
</HTML>

  打開頁面會彈出hello窗口。

  我們可以在字符串中放任何腳本語句,包括聲明語句:

<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>

  如果我們在后臺異步傳來的文本是JavaScript的聲明語句,那么不是一條eval方法就能解析了?對于解析復雜的XML,這樣的效率是多么大的提高啊!

  現在就來告訴你什么是JSON:JavaScript Object Notation。我更愿意把它翻譯為JavaScript對象聲明。比如要從后臺載入一些通訊錄的信息,如果寫成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>

  而寫成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 "
}
]

  簡單的不只是表達上,最重要的是可以丟棄讓人暈頭轉向的DOM解析了。因為只要符合JavaScript的聲明規范,JavaScrip會自動 幫你解析好 的。Ajax中使用JSON的基本方法是前臺載入后臺聲明JavaScript對象的字符串,用eval方法來將它轉為實際的對象,最后通過 DHTML更新頁面信息。
JSON的格式

  JSON的基本格式如下,圖片來自json.org:

  ·對象是屬性、值對的集合。一個對象的開始于"{",結束于"}"。每一個屬性名和值間用":"提示,屬性間用","分隔。


  ·數組是有順序的值的集合。一個數組開始于"[",結束于"]",值之間用","分隔。


  ·值可以是引號里的字符串、數字、true、false、null,也可以是對象或數組。這些結構都能嵌套。


  ·字符串的定義和C或Java基本一致。


  ·數字的定義也和C或Java基本一致。

  JSON VS XML

  ·可讀性

  JSON和XML的可讀性可謂不相上下,一邊是建議的語法,一邊是規范的標簽形式,很難分出勝負。

  ·可擴展性

  XML天生有很好的擴展性,JSON當然也有,沒有什么是XML能擴展,JSON不能的。

  ·編碼難度

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

  ·解碼難度

  XML的解析得考慮子節點父節點,讓人頭昏眼花,而JSON的解析難度幾乎為0。這一點XML輸的真是沒話說。

  ·流行度

  XML已經被業界廣泛的使用,而JSON才剛剛開始,但是在Ajax這個特定的領域,未來的發展一定是XML讓位于JSON。到時Ajax應該變成Ajaj(Asynchronous JavaScript and JSON)了。

Ajax:擁抱JSON,讓XML走開


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 日韩短视频 | 亚洲高清美女一区二区三区 | 最猛黑人xxxⅹ黑人猛交 | 欧美13一14周岁a在线播放 | 国产一区二区久久 | 成年午夜视频免费观看视频 | 国产在线成人一区二区 | 67194在线午夜亚洲 | 在线播放人成午夜免费视频 | 青青青青久久国产片免费精品 | 国产欧美成人一区二区三区 | 纯欧美一级毛片_免费 | 天色噜噜噜噜 | 女胁师~牝奴隷调教 | 毛片爱爱| 一级片在线免费观看 | 亚洲区 欧美区 | 国产亚洲欧美在线 | a级成人毛片久久 | 天天操天天射天天插 | 亚洲精品久久99久久一区 | 国产一级特黄全黄毛片 | 天天久久 | 欧美一区二区在线观看视频 | 在线国产视频 | 亚洲精品久久九九热 | 国产成人一区二区三区 | 免费一区二区 | 大学生一级毛片高清版 | 97视频久久久 | 99精品福利 | 亚洲国产成人精品女人久久久 | 亚洲另类精品综合 | 国产伦精品一区二区三区在线观看 | 永久黄网站色视频免费观看99 | 97在线视频免费播放 | 中文字幕精品一区二区三区在线 | 日韩久久视频 | 国产欧美精品 | 插吧插吧综合网 | 亚洲成人免费视频在线 |