這篇文章給大家介紹ASP.NET中怎么利用 AJAX實(shí)現(xiàn)JSON序列化和反序列化,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
成都創(chuàng)新互聯(lián)公司是一家業(yè)務(wù)范圍包括IDC托管業(yè)務(wù),網(wǎng)絡(luò)空間、主機(jī)租用、主機(jī)托管,四川、重慶、廣東電信服務(wù)器租用,南充服務(wù)器托管,成都網(wǎng)通服務(wù)器托管,成都服務(wù)器租用,業(yè)務(wù)范圍遍及中國(guó)大陸、港澳臺(tái)以及歐美等多個(gè)國(guó)家及地區(qū)的互聯(lián)網(wǎng)數(shù)據(jù)服務(wù)公司。
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 是一個(gè)正在嶄露頭角的行業(yè)標(biāo)準(zhǔn)序列化格式。它還是被 ASP.NET AJAX 使用的本機(jī)格式。Microsoft AJAX Library 的 Sys.Serialization.JavaScriptSerializer 類支持在客戶端進(jìn)行 JSON序列化和反序列化。System.Web.Script.Serialization.JavaScriptSerializer 類支持在服務(wù)器上進(jìn)行 JSON序列化和反序列化。
并非所有類型均與 JSON 兼容。例如,JSON 不能處理具有循環(huán)引用的對(duì)象。當(dāng)您需要返回不能與 JSON 兼容的復(fù)雜數(shù)據(jù)類型時(shí),其實(shí)您可以使用 ASP.NET AJAX 的 ScriptMethod 屬性將返回類型序列化為 XML。這個(gè)技術(shù)對(duì)返回 XML 數(shù)據(jù)的方法也很有用,如下所示:
[ScriptMethod (ResponseFormatResponseFormat=ResponseFormat.Xml)] public XmlDocument GetData() { ... }
此外,您還可以構(gòu)建和注冊(cè)自定義 JSON 轉(zhuǎn)換器,它允許將通常不能與 JSON 兼容的類型序列化和反序列化。ASP.NET AJAX January Futures CTP 包含三個(gè)這樣的轉(zhuǎn)換器:一個(gè)針對(duì) DataSet,一個(gè)針對(duì) DataTable,還有一個(gè)針對(duì) DataRow。
關(guān)于ASP.NET中怎么利用 AJAX實(shí)現(xiàn)JSON序列化和反序列化就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。