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

开发
具体地说,我们将探讨一个实现序列化与反序列化的服务器端对象—JavaScriptSerializer,我们将专注于分析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>17bity@gmail.com</email> 
  5.         <homepage>http://www.jialing.net</homepage> 
  6.     </friend> 
  7.     <friend> 
  8.         <name>John</name> 
  9.         <email>john@gmail.com</email> 
  10.         <homepage>http://www.john.com</homepage> 
  11.     </friend> 
  12.     <friend> 
  13.         <name>Peggy</name> 
  14.         <email>peggy@gmail.com</email> 
  15.         <homepage>http://www.peggy.com</homepage> 
  16.     </friend> 
  17. </contact> 
  18.  
  19.   而写成JSON形式,则会是:  
  20.  
  21. [  
  22. friend: {  
  23.    name:"Michael",  
  24.    email:"17bity@gmail.com",  
  25.    homepage:"http://www.jialing.net"  
  26. },  
  27. friend: {  
  28.    name:"John",  
  29.    email:"john@gmail.com",  
  30.    homepage:"http://www.jobn.com"  
  31. },  
  32. friend: {  
  33.    name:"Peggy",  
  34.    email:"peggy@gmail.com",  
  35.    homepage:"http://www.peggy.com"  

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

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

责任编辑:chenqingxiang 来源: 电子工业出版社
相关推荐

2022-02-14 13:58:32

操作系统JSON格式鸿蒙

2020-12-02 10:13:45

JacksonJDK解析器

2010-01-07 17:24:31

JSON 解析器

2022-06-28 08:17:10

JSON性能反射

2023-12-30 13:33:36

Python解析器JSON

2009-03-19 09:26:05

RSS解析器MagpieRSS

2013-07-23 06:39:49

Json字符串到JsoAndroid开发学习Json万能解析器

2010-01-06 16:41:40

解析JSON

2014-05-06 09:27:54

2010-02-22 13:38:50

Python解析器

2010-02-22 16:51:03

Python 解析器

2024-02-22 08:06:45

JSON策略解析器

2009-01-03 14:39:00

ibmdwSpirit

2010-03-05 10:14:53

Ubuntu ruby

2021-10-03 15:02:50

HTTPNodejs

2011-04-01 16:16:27

JavaScript

2021-03-18 10:56:59

SpringMVC参数解析器

2010-01-06 18:29:46

安装JSON插件

2010-01-06 14:24:40

Javascript解

2009-12-14 18:59:27

Ruby解析器
点赞
收藏

51CTO技术栈公众号