< 返回技术文档列表

ASP.NET中怎么利用 AJAX实现JSON序列化和反序列化

发布时间:2021-09-01 03:54:14⊙投诉举报

这篇文章给大家介绍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 数据的方法也很有用,如下所示:

[ScriptMethod (ResponseFormatResponseFormat=ResponseFormat.Xml)]  public XmlDocument GetData()  {    ...  }

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

关于ASP.NET中怎么利用 AJAX实现JSON序列化和反序列化就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


/template/Home/Zkeys/PC/Static