ASP.NET MVC 下自定义 JsonResult,使用 Json.NET 序列化 JSON

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ASP.NET MVC 下自定义 JsonResult,使用 Json.NET 序列化 JSON相关的知识,希望对你有一定的参考价值。

直接贴代码了:

using System;
using System.Web.Mvc;
using Newtonsoft.Json;

namespace MvcSample.Extensions
{
    public class ConverterJsonResult : JsonResult
    {
        #region Fields

        private readonly JsonConverter[] _converters;

        #endregion

        #region Ctor

        public ConverterJsonResult(params JsonConverter[] converters)
        {
            _converters = converters;
        }

        #endregion

        #region Methods

        public override void ExecuteResult(ControllerContext context)
        {
            if (context == null)
                throw new ArgumentNullException("context");

            if (context.HttpContext == null || context.HttpContext.Response == null)
                return;

            context.HttpContext.Response.ContentType = !string.IsNullOrEmpty(ContentType) ? ContentType : "application/json";
            if (ContentEncoding != null)
                context.HttpContext.Response.ContentEncoding = ContentEncoding;

            if (Data != null)
                context.HttpContext.Response.Write(JsonConvert.SerializeObject(Data, _converters));
        }

        #endregion
    }
}

 

谢谢浏览!

以上是关于ASP.NET MVC 下自定义 JsonResult,使用 Json.NET 序列化 JSON的主要内容,如果未能解决你的问题,请参考以下文章

是否可以在不使用 ObjectDataSource 的情况下自定义 GridView(在 ASP.NET 中,最好是 3.5)分页?

Asp.net MVC 自定义路由

ASP.Net Core MVC - 自定义验证

ASP.NET MVC 之自定义HtmlHelper

Asp.net Mvc 自定义Session

Asp.net Mvc 自定义Session ,