在startup.cs中使用以下配置services.AddControllers() .AddNewtonsoftJson(opt => opt.SerializerSettings.Converters.Add(new Newtonsoft.Json.Converters.StringEnumConverter()))
但无法将枚举序列化为字符串值。只有整数值显示在swagger页面中。有人能帮我修一下吗?。
有几种方法可以实现这一点。
-
在上添加
[JsonConverter(typeof(StringEnumConverter))]
属性枚举字段。using Newtonsoft.Json; using Newtonsoft.Json.Converters; [JsonConverter(typeof(StringEnumConverter))] public Gender Gender { get; set; }
-
在序列化期间添加
formatting
参数。string value = JsonConvert.SerializeObject(objectlist,new Newtonsoft.Json.Converters.StringEnumConverter());
您也可以参考此。