asp.net-web-api - 无法将枚举序列化为字符串 .net core 3.1

标签 asp.net-web-api asp.net-core-mvc asp.net-core-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; }
    
  • 在序列化过程中添加格式化参数。

    string value = JsonConvert.SerializeObject(objectlist,new Newtonsoft.Json.Converters.StringEnumConverter());

也可以引用this .

关于asp.net-web-api - 无法将枚举序列化为字符串 .net core 3.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60821296/

相关文章:

c# - WebAPI2 Async ..与所有其他语言兼容吗?

asp.net-mvc-4 - 集成测试和单元测试(WEB API mvc 4)

blazor - 在 Blazor 下禁用页面布局

c# - Windows 上的 Kestrel 和 macOS/Linux 上的 Kestrel 之间的日期反序列化差异

asp.net-core-mvc - 数据未根据 abp.ajax 请求发送到服务器

C# HttpClient 在 Patch 请求中返回 415 Unsupported media type

c# - 如何在 asp.net web api 中返回 json 错误消息?

javascript - 如何将 C# 字典传递给 typescript map

c# - MVC 6 多个获取方法

c# - Request.Headers ["Referer"]不存在