我正在尝试使用加载的枚举序列化一个大型结构,并且当未设置结构中的属性时,我想获得第一个在json中序列化的枚举字符串值而不是默认为0值。
public enum YesNoUnknown
{
[EnumName(Name = "unknown")]
Unknown,
[EnumName(Name = "yes")]
Yes,
[EnumName(Name = "no")]
No
}
[JsonProperty(PropertyName = "property1", ItemConverterType = typeof(EnumAttributeConverter<YesNoUnknown>))]
public YesNoUnknown Property1 { get; set; }
我希望默认结果为:property1:“unknown”而不是:property1:0
提前致谢!
答案 0 :(得分:0)
原来问题是我应该使用Json EnumString属性而不是使用我的自定义属性。所以这些是我为使其发挥作用所做的改变:
public enum YesNoUnknown
{
[EnumString("unknown")]
Unknown,
[EnumString("yes")]
Yes,
[EnumString("no")]
No
}
[JsonProperty(PropertyName = "property1")]
[JsonConverter(typeof(EnumAttributeConverter<YesNoUnknown>))]
public YesNoUnknown Property1 { get; set; }