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

sha*_*wat 8 c# json json.net

我想使用类似于的属性使用JSON.NET将枚举序列化为字符串 [JsonIgnore]

示例类:

enum Gender { Male, Female }
class ABC
{
    public Gender { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

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

var a = new ABC();
var str = JsonConvert.SerializeObject(a);
Run Code Online (Sandbox Code Playgroud)

str设定为{Gender:0},我更喜欢{Gender:Male}.

Sas*_*cha 13

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

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