ASP.NET MVC、WebApi 设置返回Json为小驼峰命名
程序员文章站
2024-02-28 09:25:28
...
在ASP.NET MVC中,我们一般返回json数据,直接return Json(data)就可以了,但是C#字段命名规范是首字母大写,返回Json的时候就是直接序列化了指定的实体对象,就是大写了。
这里自己创建一个JsonResult,继承JsonResult,重写一下ExecuteResult方法,利用Newtonsoft.Json格式化一下数据,再自定义写回到请求中。
public class MyJsonResult : JsonResult
{
public MyJsonResult(object data)
{
Data = data;
}
public object Data { get; set; }
public override void ExecuteResult(ControllerContext context)
{
var json = JsonConvert.SerializeObject(Data,
Formatting.Indented,
new JsonSerializerSettings
{
ContractResolver = new CamelCasePropertyNamesContractResolver(), //小驼峰命名法
DateFormatString = "yyyy-MM-dd HH:mm:ss"
}
);
context.HttpContext.Response.Write(json);
}
}
在Controller中直接:return new MyJsonResult(resultData);
WebApi中,我们也设置格式化,Application_Start中:
GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings = new JsonSerializerSettings
{
ContractResolver = new CamelCasePropertyNamesContractResolver(), //小驼峰命名法,格式化日期时间
DateFormatString = "yyyy-MM-dd HH:mm:ss"
};
最后对比一下返回的json数据:
上一篇: mysql数据库重命名语句分享