Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
502 views
in Technique[技术] by (71.8m points)

c# - Serialize enum as a string in JSON.NET using attributes

I want to serialize enum as string using JSON.NET using attributes similar to [JsonIgnore]

Example class:

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

If I serialize this using JSON.NET:

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

str is set to {Gender:0} and I would prefer {Gender:Male}.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Have a look at [JsonConverter(typeof(StringEnumConverter))]. Should do what you want.

Edit: http://james.newtonking.com/projects/json/help/html/T_Newtonsoft_Json_Converters_StringEnumConverter.htm provides some info.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...