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

JSON序列化和反序列化

POST /Ajax/ZipCodeService.asmx/GetCityAndState HTTP/1.1  


Accept: */*  


Accept-Language: en-us  


Referer: http://localhost:1997/Ajax/ZipCodePage.aspx  


UA-CPU: x86  


Accept-Encoding: gzip, deflate  


User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; ...)  


Host: localhost:1997  


Content-Length: 15  


Connection: Keep-Alive  


Cache-Control: no-cache  


{"zip":"98052"}  


HTTP/1.1 200 OK  


Server: ASP.NET Development Server/8.0.0.0  


Date: Fri, 29 Dec 2006 21:06:17 GMT  


X-AspNet-Version: 2.0.50727  



Cache-Control: private, max-age=0 




Content-Type: application/json; charset=utf-8  



Content-Length: 16  


Connection: Close  


 


{"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 数据的方法也很有用,如下所示:

相关推荐