c# - ServiceStack 将枚举值序列化为名称以外的字符串

标签 c# serialization servicestack

我需要将枚举的值序列化为名称以外的字符串。

我试过这样做(见下面的代码)但是属性 [EnumMember(Value = "name")] 没有改变任何东西。当我执行 .ToJson() 时,我可以看到该值仍然是“星期一”而不是“星期一”

[DataContract]
public enum Day
{
    [EnumMember(Value = "MONDAY")]
    Monday,
    [EnumMember(Value = "TUESDAY")]
    Tuesday,
    [EnumMember(Value = "WEDNESDAY")]
    Wednesday,
    [EnumMember(Value = "THURSDAY")]
    Thursday,
    [EnumMember(Value = "FRIDAY")]
    Friday,
    [EnumMember(Value = "SATURDAY")]
    Saturday,
    [EnumMember(Value = "SUNDAY")]
    Sunday,
}

最佳答案

我刚刚在 this commit 中添加了对 [EnumMember] 自定义的支持您的示例将按预期工作的地方。

此更改从现在的 v5.0.3 开始可用 available on MyGet .

关于c# - ServiceStack 将枚举值序列化为名称以外的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49715354/

相关文章:

c# - Xamarin 中的跨平台 OpenGL 渲染

java - 如果对象被移动到另一个包或重命名,我该如何反序列化该对象?

c# - 如何使用 Linq 从列表中提取这些数据?

c# - 如何序列化包含接口(interface)的不可修改类?

java - 使用 Java 客户端的 Elasticsearch 查询序列化

servicestack - ServiceStack 5.5 Web 命令找不到react-lite 和 vue-list 模板

postgresql - 如何使用 ServiceStack OrmLite 从插入返回标识值 - PostgreSQL

c# - 使用 JSON 时如何让 ServiceStack 将 Guids 格式化为破折号?

c# - 尝试在 Visual Studio 中将 JavaScript 中的插入值调用到 SQL Server 时出现内部服务器错误 500

c# - TouchUpInside 无法识别多次点击