强制框架使用枚举实体名称,而不是它的值
强制框架使用枚举实体名称,而不是它的值
这个问题已经有了答案:
我创建了一个ASP.NET MVC 4 Web应用程序。在此应用程序中,我实现了几个REST Web服务,现在我的问题是:是否可以强制对象序列化使用枚举实体名称而不是它们的值?
这是我的枚举类型:
public enum ReturnCode { OK, InvalidParameter }
这是我得到的:
{ "returnCode": 0, "data": null }
但这是我想要的:
{ "returnCode": OK, "data": null }
是否有办法实现这一点?
admin 更改状态以发布 2023年5月24日
您可以使用JsonConverter。
JSON.Net的本机JSON专用 StringEnumConverter 在这个问题中提到JSON序列化枚举为字符串
要么注释您的属性:
[JsonConverter(typeof(StringEnumConverter))] public enum ReturnCode { OK, InvalidParameter }
要么使用WebApi Json.NET自定义日期处理中的配置示例在全局序列化器设置中进行注册。