慢解JSON解析器的问题学习研究

下面对JSON解析器进行相关的介绍,作为重点支持ASP.NET开发平台的开源Ajax框架在它一出世时就受到广大.NET开发人员的青睐,看完本文你肯定有不少收获,希望本文能教会你更多东西。

在本文中,在正式讨论JSON格式之前,首先让我们简要回忆一下XML。XML是“可扩展的标记语言”的简称,它提供了定义Web中一系列数据传输协议的方式,是文本型的,被人们誉为“完全开发Internet和Web潜力的理想方式”。#t#

那么,为什么ASP.NET AJAX中还要引入JSON呢?还是让我们先来观察一下例子吧。比如当前Web页面将从后台载入一些通讯录的信息,这些信息如果写成XML,可能是如下形式:

 
 
  1. <contact> 
  2.     <friend> 
  3.         <name>Michael</name> 
  4.         <email>[email protected]</email> 
  5.         <homepage>http://www.jialing.net</homepage> 
  6.     </friend> 
  7.     <friend> 
  8.         <name>John</name> 
  9.         <email>[email protected]</email> 
  10.         <homepage>http://www.john.com</homepage> 
  11.     </friend> 
  12.     <friend> 
  13.         <name>Peggy</name> 
  14.         <email>[email protected]</email> 
  15.         <homepage>http://www.peggy.com</homepage> 
  16.     </friend> 
  17. </contact> 
  18.  
  19.   而写成JSON形式,则会是:  
  20.  
  21. [  
  22. friend: {  
  23.    name:"Michael",  
  24.    email:"[email protected]",  
  25.    homepage:"http://www.jialing.net"  
  26. },  
  27. friend: {  
  28.    name:"John",  
  29.    email:"[email protected]",  
  30.    homepage:"http://www.jobn.com"  
  31. },  
  32. friend: {  
  33.    name:"Peggy",  
  34.    email:"[email protected]",  
  35.    homepage:"http://www.peggy.com"  

相比之下,JSON解析器表达方式明显更为简洁。其实,我们最关心的并不只是表达上的简单性,最重要的是如何简化DOM的解析。因为不同的浏览器中XML/SOAP解释器的实现是有所不同的,所以,解释相同的XML和SOAP格式的数据未必会一定得到一致的结果。#t#

为此,ASP.NET AJAX中特地引入了更为轻量级的JSON格式,并创建了一致的JSON解析器,再加上JavaScript本身就支持以JSON方式创建对象,所以,这一切都显然十分流畅自然和水到渠成。

THE END