使用属性将枚举序列化为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}

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

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