asp.net-web-api - 无法将枚举序列化为字符串 .net core 3.1
问题描述
在 startup.cs 中使用以下配置
services.AddControllers() .AddNewtonsoftJson(opt => opt.SerializerSettings.Converters.Add(new Newtonsoft.Json.Converters.StringEnumConverter()))
但无法将枚举序列化为字符串值。swagger 页面中仅显示整数值。有人可以帮我解决这个问题吗?
解决方案
您有几种方法可以实现这一目标。
[JsonConverter(typeof(StringEnumConverter))]
在 Enum 字段上添加属性。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());
你也可以参考这个。
推荐阅读
- python - 每次循环后重置变量
- reactjs - 从状态或 API 设置 antd 表单值
- reactjs - 为什么 currentUser.uid 未定义
- android - 滚动时更新 RecyclerView 适配器会导致崩溃
- java - Spring boot JPA nativeQuery @P0 附近的语法不正确
- reactjs - res.clearCookie 在本地工作,但没有部署到生产环境
- android - LiveData惰性初始化与协程不起作用
- javascript - 如何获取函数的所有循环字符串
- python - AttributeError:“postComments”对象没有属性“模型”
- c++ - 将 C++ 与 Python 连接