C#/.NET中借助 Newtonsoft.Json 返回给前端json强制使用小写格式

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方法 调用该扩展方法。

 

posted @ 2021-09-01 10:12  rhyswang  阅读(622)  评论(0编辑  收藏  举报