Controller下的JsonResult的ExecuteResult方法
public override void ExecuteResult(ControllerContext context) {if (context == null){throw new ArgumentNullException("context");}if ((this.JsonRequestBehavior == JsonRequestBehavior.DenyGet) && string.Equals(context.HttpContext.Request.HttpMethod, "GET", StringComparison.OrdinalIgnoreCase)){throw new InvalidOperationException(MvcResources.JsonRequest_GetNotAllowed);}HttpResponseBase response = context.HttpContext.Response;if (!string.IsNullOrEmpty(this.ContentType)){response.ContentType = this.ContentType;}else{response.ContentType = "application/json";}if (this.ContentEncoding != null){response.ContentEncoding = this.ContentEncoding;}if (this.Data != null){JavaScriptSerializer serializer = new JavaScriptSerializer();if (this.MaxJsonLength.HasValue){serializer.MaxJsonLength = this.MaxJsonLength.Value;}if (this.RecursionLimit.HasValue){serializer.RecursionLimit = this.RecursionLimit.Value;}response.Write(serializer.Serialize(this.Data));} }
此處使用的JavaScriptSerializer進行的序列化
?