我对json.net如何序列化/挑选枚举感到困惑。
我的JSON模式中有此字段:
"MyEnumValue": {
"type": "string",
"enum": ["D", "F", "R"]
},
和此C#代码:
[JsonProperty(PropertyName = "MyEnumValue", Required = Required.Always)]
public MyEnumValue MyEnumValue { get; set; }
public enum MyEnumValue
{
D, F, R
}
当我使用此功能时:
JsonConvert.SerializeObject
创建的JSON文本包含以下内容:
"MyEnumValue":82
so json.net可以阐明一个枚举值,该值期望char是一个整数,它是一个char的char值。
我的问题是:*我为什么不仅通过序列化才能获得炭?
- (通用)JSON模式规则是否正常?
如果需要[de]将枚举序列化为字符串,请将其添加到属性:
[JsonProperty(PropertyName = "Enum", Required = Required.Always)]
[JsonConverter(typeof(StringEnumConverter))]
public MyEnumValue MyEnumValue { get; set; }