在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);