C# 枚举值的大小写名称

C# 枚举值的大小写名称,c#,json.net,C#,Json.net,Newtonsoft.Json中是否有任何内置功能可用于将枚举值序列化为其蛇形大小写名称 目前,我正在手动提供值: [JsonConverter(typeof(StringEnumConverter))] enum MyEnum { [EnumMember(Value = "value_one")] ValueOne, } 在Json.NET中实现了枚举值的可选蛇型外壳。现在可以为以下各项指定一个: 新功能-增加了对NamingStrategy到StringEnumConver

Newtonsoft.Json
中是否有任何内置功能可用于将枚举值序列化为其蛇形大小写名称

目前,我正在手动提供值:

[JsonConverter(typeof(StringEnumConverter))]
enum MyEnum {
    [EnumMember(Value = "value_one")]
    ValueOne,
}

在Json.NET中实现了枚举值的可选蛇型外壳。现在可以为以下各项指定一个:

新功能-增加了对NamingStrategy到StringEnumConverter的支持

因此,您可以传递到for
StringEnumConverter
中的任意一个,例如

使用此选项,您现在可以通过向以下对象添加适当的转换器来指定在序列化时枚举应全局使用snake大小写:

或者,
SnakeCaseNamingStrategy
也可以应用于选择枚举,如下所示:

[JsonConverter(typeof(StringEnumConverter), typeof(SnakeCaseNamingStrategy))]
enum MyEnum
{
    ValueOne,
    // Other values...
}

有关更多信息,请参阅。

如何对枚举使用SnakeCaseNamingStrategy?示例:@RickvandenBosch没有测试它,因为我不应该在我的项目中使用任何序列化设置。所有属性都应该在我用作DTO的POCO上提供。
[JsonConverter(typeof(StringEnumConverter), typeof(SnakeCaseNamingStrategy))]
enum MyEnum
{
    ValueOne,
    // Other values...
}