【问题标题】:Not able to serialize enum to string .net core 3.1无法将枚举序列化为字符串 .net core 3.1
【发布时间】:2020-03-23 20:45:46
【问题描述】:
在 startup.cs 中使用以下配置
services.AddControllers() .AddNewtonsoftJson(opt => opt.SerializerSettings.Converters.Add(new Newtonsoft.Json.Converters.StringEnumConverter()))
但无法将枚举序列化为字符串值。 swagger 页面中仅显示整数值。有人可以帮我解决这个问题吗?
【问题讨论】:
标签:
asp.net-web-api
asp.net-core-mvc
asp.net-core-3.1
【解决方案1】:
您有几种方法可以实现这一目标。
-
添加[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());
您也可以参考this。