1:手动设置每个属性
using Newtonsoft.Json;
public class YourOutDto { /// <summary> /// 区域 /// </summary> /// <returns></returns> public string Area { get; set; } /// <summary> ////// </summary> /// <returns></returns> [JsonProperty(PropertyName = "avgDust")] public float? AvgDust { get; set; } }
结果:可以看见默认Area属性还是C#命名格式,AvgDust属性已经改为手动设置的
2:借助扩展方法
/// <summary> /// 自定义对象序列化为json,强制使用小写格式 /// </summary> /// <param name="obj"></param> /// <param name="datetimeformats"></param> /// <returns></returns> public static string ToJsonCustomer(this object obj, string datetimeformats = "yyyy-MM-dd HH:mm:ss") { string json = JsonConvert.SerializeObject( obj, Formatting.Indented, new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver(), Converters = { new IsoDateTimeConverter { DateTimeFormat = datetimeformats } } } ); return json; }
可以在控制器层再封装JsonResult方法 调用该扩展方法。