[英]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.