使用属性将枚举序列化为JSON.NET中的字符串

时间:2012-04-30 16:37:16

标签: c# json json.net

我想使用类似于[JsonIgnore]

的属性,使用JSON.NET将枚举序列化为字符串

示例类:

enum Gender { Male, Female }
class ABC
{
    public Gender { get; set; }
}

如果我使用JSON.NET序列化它:

var a = new ABC();
var str = JsonConvert.SerializeObject(a);

str设置为{Gender:0},我希望{Gender:Male}

1 个答案:

答案 0 :(得分:13)

看看[JsonConverter(typeof(StringEnumConverter))]。应该做你想做的事。

修改: http://james.newtonking.com/projects/json/help/html/T_Newtonsoft_Json_Converters_StringEnumConverter.htm提供了一些信息。