[英]json enum default value c#
我正在尝试使用枚举的负载序列化一个大型结构,并且当未设置该结构中的属性时,我想获取要在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:“未知”,而不是:property1: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; }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.