为什么json.net可以将枚举价值视为整数,并认为有效



我对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; } 

相关内容

  • 没有找到相关文章

最新更新