无法将枚举序列化为string.net核心3.1



在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());

您也可以参考此。

最新更新