【问题标题】: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 页面中仅显示整数值。有人可以帮我解决这个问题吗?

【问题讨论】:

  • .net core 6 也发生在我身上

标签: 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

【讨论】:

    猜你喜欢
    • 2020-03-24
    • 2012-02-27
    • 2011-01-08
    • 1970-01-01
    • 2021-06-10
    • 1970-01-01
    • 2016-05-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多