【发布时间】:2017-05-22 09:20:24
【问题描述】:
我想要以下全局 Json.NET 配置:
- 如果 Enum 类型为
Foo,则使用枚举的默认序列化逻辑(输出整数值,例如3)。 - 否则,使用
StringEnumConverter(输出字符串值,例如"Red")
我想使用全局配置,因为 Web API 的 ApiController 会自动将响应转换为 JSON。
// Global Json.NET configuration in Global.asax.cs
HttpConfiguration config = GlobalConfiguration.Configuration;
// Serialize enum values as description instead of integers in JSON.
// I wish to conditionally apply this converter.
config.Formatters.JsonFormatter.SerializerSettings.Converters.Add(new
StringEnumConverter());
当前结果:
- 始终使用
StringEnumConverter。
这里推荐的解决方案是什么?
【问题讨论】: