C#/.NET中藉助 Newtonsoft.Json 返回給前端json強制使用小寫格式
阿新 • • 發佈:2021-09-01
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方法呼叫該擴充套件方法。