您可以通过添加属性将WebAPI模型中的枚举字段序列化为字符串:
enum Size { Small, Medium, Large } class Example1 { [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] Size Size { get; set; } }
这将序列化为以下JSON:
{ "Size": "Medium" }
如何为枚举集合完成相同的工作?
class Example2 { IList<Size> Sizes { get; set; } }
我想序列化为此JSON:
{ "Sizes": [ "Medium", "Large" ] }
您需要使用JsonPropertyAttribute.ItemConverterType属性:
JsonPropertyAttribute.ItemConverterType
class Example2 { [JsonProperty (ItemConverterType = typeof(StringEnumConverter))] public IList<Size> Sizes { get; set; } }