下面對JSON解析器進行相關的介紹,作為重點支持ASP.NET開發平台的開源AJax框架在它一出世時就受到廣大.Net開發人員的青睐,看完本文你肯定有不少收獲,希望本文能教會你更多東西。
在本文中,在正式討論JSON格式之前,首先讓我們簡要回憶一下XML。XML是“可擴展的標記語言”的簡稱,它提供了定義Web中一系列數據傳輸協議的方式,是文本型的,被人們譽為“完全開發Internet和Web潛力的理想方式”。
那麼,為什麼ASP.Net AJax中還要引入JSON呢?還是讓我們先來觀察一下例子吧。比如當前Web頁面將從後台載入一些通訊錄的信息,這些信息如果寫成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形式,則會是:
- [
- frIEnd: {
- name:"Michael",
- email:"17bity@gmail.com",
- homepage:"http://www.jialing.Net"
- },
- frIEnd: {
- name:"John",
- email:"john@gmail.com",
- homepage:"http://www.jobn.com"
- },
- frIEnd: {
- name:"Peggy",
- email:"peggy@gmail.com",
- homepage:"http://www.peggy.com"
- }
相比之下,JSON解析器表達方式明顯更為簡潔。其實,我們最關心的並不只是表達上的簡單性,最重要的是如何簡化DOM的解析。因為不同的浏覽器中XML/SOAP解釋器的實現是有所不同的,所以,解釋相同的XML和SOAP格式的數據未必會一定得到一致的結果。
為此,ASP.Net AJax中特地引入了更為輕量級的JSON格式,並創建了一致的JSON解析器,再加上JavaScript本身就支持以JSON方式創建對象,所以,這一切都顯然十分流暢自然和水到渠成。