C# 在枚举参数中使用破折号(-)字符
嗨 我使用newtonsoft反序列化器将json字符串反序列化为对象 JsonDeserializer检查枚举参数名称。如果它与json字符串相同。它将字符串转换为枚举 我可以使用枚举中的短划线、减号(-)字符作为枚举参数吗。我试图使用上面提到的方法,但我无法编译这个项目 然后我试了这个C# 在枚举参数中使用破折号(-)字符,c#,json,serialization,deserialization,json.net,C#,Json,Serialization,Deserialization,Json.net,嗨 我使用newtonsoft反序列化器将json字符串反序列化为对象 JsonDeserializer检查枚举参数名称。如果它与json字符串相同。它将字符串转换为枚举 我可以使用枚举中的短划线、减号(-)字符作为枚举参数吗。我试图使用上面提到的方法,但我无法编译这个项目 然后我试了这个 public enum TimeFormat { @12-hour, @24-hour } 反序列化程序无法反序列化json字符串 错误:请求的值“12小时”不是源于已修复
public enum TimeFormat
{
@12-hour,
@24-hour
}
反序列化程序无法反序列化json字符串
错误:请求的值“12小时”不是源于已修复的问题
[JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
public enum TimeFormat
{
[JsonProperty("12-hour")]
hour12,
[JsonProperty("24-hour")]
hour24,
}
StringEnumConverter
检查。@Stenperov我使用StringEnumConverter反序列化枚举。但它忽略枚举参数的JsonPropertyAttribute。没有关于它的文档。为什么它不检查枚举参数的属性:(它不是类似于'PropertyName'吗?
[JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
public enum TimeFormat
{
[System.Runtime.Serialization.EnumMember(Value = "12-hour")]
hour12,
[System.Runtime.Serialization.EnumMember(Value = "24-hour")]
hour24,
}