问题
假设我有一个枚举代表某事或其他:
public enum ResultState
{
Found,
Deleted,
NotFound
}
在我的序列化 json 中,我希望将这些值分别序列化为"found"
或。(注意:这不是camelCase,而是完全自定义的字符串!)"gone"
"not_found"
我正在使用 JSON.NET
迄今为止的故事
我的一切工作几乎正确 - 枚举通过 全局转换为字符串StringEnumConverter
,但是我无法终生看到如何实现与上述类似的东西。
我最初的想法是将JsonProperty(...)
属性应用于相关的枚举值,但这似乎不起作用!
潜在的解决方案?
我能想到完成这项工作的唯一方法是编写我自己的JsonConverter
继承自StringEnumConverter
,但使用一些额外的魔法来处理JsonName
我要创建的新属性。
正如你可能想象的那样,我不喜欢这个想法。
我想知道你们这些优秀的人是否可以提出一个更简单的替代方案?