gpt4 book ai didi

c# - 如何全局告诉 Json.Net 将 StringEnumConverter 应用于所有枚举

转载 作者:IT老高 更新时间:2023-10-28 12:43:00 27 4
gpt4 key购买 nike

我想用 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com