我想使用json.net将枚举反序列化为它们的字符串表示形式,反之亦然。我可以弄清楚告诉框架应用的唯一方法StringEnumConverter是对有问题的属性进行如下注释:
StringEnumConverter
[JsonConverter(typeof(StringEnumConverter))] public virtual MyEnums MyEnum { get; set; }
但是,在我的用例中,全局配置json.net会更加方便,这样所有枚举都可以使用进行(反)序列化StringEnumConverter,而无需额外的注释。
有没有办法做到这一点,例如在custom的帮助下JsonSerializerSettings?
JsonSerializerSettings
将一个添加StringEnumConverter到JsonSerializerSettingsConverters集合。
文档: 使用JsonConverters进行序列化
如果您希望序列化程序使用camelCasing,则也可以进行以下设置:
SerializerSettings.Converters.Add( new StringEnumConverter { CamelCaseText = true });
这将序列化SomeValue到someValue。
SomeValue
someValue