作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我想用 json.net 将枚举反序列化为它们的字符串表示形式,反之亦然。我能想出告诉框架应用其 StringEnumConverter
的唯一方法是像这样注释有问题的属性:
[JsonConverter(typeof(StringEnumConverter))]
public virtual MyEnums MyEnum { get; set; }
但是,在我的用例中,全局配置 json.net 会方便得多,这样所有枚举都可以使用 StringEnumConverter
进行(反)序列化,而无需额外的注释。
有没有办法做到这一点,例如在自定义 JsonSerializerSettings
的帮助下?
最佳答案
将 StringEnumConverter
添加到 JsonSerializerSettings
转换器集合。
文档: Serialize with JsonConverters
如果你想让序列化器使用camelCasing,你也可以设置这个:
SerializerSettings.Converters.Add(
new StringEnumConverter { CamelCaseText = true });
这会将 SomeValue
序列化为 someValue
。
关于c# - 如何全局告诉 Json.Net 将 StringEnumConverter 应用于所有枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7427909/
我是一名优秀的程序员,十分优秀!