您可以通过添加属性将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
属性:
class Example2
{
[JsonProperty (ItemConverterType = typeof(StringEnumConverter))]
public IList<Size> Sizes { get; set; }
}
关于c# - 使用JSON.net将枚举容器序列化为字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18640162/