ASP.NET AJAX的JSON序列化和反序列化

开发 后端
本文介绍ASP.NET AJAX的JSON序列化和反序列化,JSON 是一个正在崭露头角的行业标准序列化格式。它还是被 ASP.NET AJAX 使用的本机格式。

JSON序列化和反序列化

  1. POST /Ajax/ZipCodeService.asmx/GetCityAndState HTTP/1.1  
  2. Accept: */*  
  3. Accept-Language: en-us  
  4. Referer: http://localhost:1997/Ajax/ZipCodePage.aspx  
  5. UA-CPU: x86  
  6. Accept-Encoding: gzip, deflate  
  7. User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; ...)  
  8. Host: localhost:1997  
  9. Content-Length: 15  
  10. Connection: Keep-Alive  
  11. Cache-Control: no-cache  
  12. {"zip":"98052"}  
  13. HTTP/1.1 200 OK  
  14. Server: ASP.NET Development Server/8.0.0.0  
  15. Date: Fri, 29 Dec 2006 21:06:17 GMT  
  16. X-AspNet-Version: 2.0.50727  
  17. Cache-Control: private, max-age=0 
  18. Content-Type: application/json; charset=utf-8  
  19. Content-Length: 16  
  20. Connection: Close  
  21.  
  22. {"REDMOND", "WA"} 


JSON 是一个正在崭露头角的行业标准序列化格式。它还是被 ASP.NET AJAX 使用的本机格式。Microsoft AJAX Library 的 Sys.Serialization.JavaScriptSerializer 类支持在客户端进行 JSON序列化和反序列化。System.Web.Script.Serialization.JavaScriptSerializer 类支持在服务器上进行 JSON序列化和反序列化。

并非所有类型均与 JSON 兼容。例如,JSON 不能处理具有循环引用的对象。当您需要返回不能与 JSON 兼容的复杂数据类型时,其实您可以使用 ASP.NET AJAX 的 ScriptMethod 属性将返回类型序列化为 XML。这个技术对返回 XML 数据的方法也很有用,如下所示:

  1. [ScriptMethod (ResponseFormatResponseFormat=ResponseFormat.Xml)]  
  2. public XmlDocument GetData()  
  3. {  
  4.   ...  

此外,您还可以构建和注册自定义 JSON 转换器,它允许将通常不能与 JSON 兼容的类型序列化和反序列化。ASP.NET AJAX January Futures CTP 包含三个这样的转换器:一个针对 DataSet,一个针对 DataTable,还有一个针对 DataRow。

【编辑推荐】

  1. 浅析ASP.NET Web 安全性
  2. ASP.NET的Session State
  3. 浅析IsPostBack属性ASP.NET
  4. ASP.NET构架与安全机制
  5. 概述ASP.NET水晶报表
责任编辑:佚名 来源: 百度空间
相关推荐

2011-06-01 15:05:02

序列化反序列化

2022-08-06 08:41:18

序列化反序列化Hessian

2009-08-24 17:14:08

C#序列化

2009-09-09 16:10:11

.NET序列化和反序列

2021-11-18 07:39:41

Json 序列化Vue

2011-05-18 15:20:13

XML

2009-09-09 14:45:41

XML序列化和反序列化

2009-09-09 15:47:27

XML序列化和反序列化

2009-06-14 22:01:27

Java对象序列化反序列化

2009-08-06 11:16:25

C#序列化和反序列化

2019-11-20 10:07:23

web安全PHP序列化反序列化

2009-08-25 14:24:36

C#序列化和反序列化

2018-03-19 10:20:23

Java序列化反序列化

2024-10-07 08:26:53

2009-08-25 14:43:26

C#序列化和反序列化

2010-03-19 15:54:21

Java Socket

2023-12-13 13:49:52

Python序列化模块

2011-06-01 14:50:48

2012-04-13 10:45:59

XML

2024-01-30 13:32:51

JSON反序列化序列化
点赞
收藏

51CTO技术栈公众号