下面对JSON解析器进行相关的介绍,作为重点支持ASP.NET开发平台的开源Ajax框架在它一出世时就受到广大.NET开发人员的青睐,看完本文你肯定有不少收获,希望本文能教会你更多东西。
在本文中,在正式讨论JSON格式之前,首先让我们简要回忆一下XML。XML是“可扩展的标记语言”的简称,它提供了定义Web中一系列数据传输协议的方式,是文本型的,被人们誉为“完全开发Internet和Web潜力的理想方式”。#t#
那么,为什么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格式的数据未必会一定得到一致的结果。#t#
为此,ASP.NET AJAX中特地引入了更为轻量级的JSON格式,并创建了一致的JSON解析器,再加上JavaScript本身就支持以JSON方式创建对象,所以,这一切都显然十分流畅自然和水到渠成。