.NET-JSON将枚举序列化为String

.NET-JSON将枚举序列化为String

我有一个类包含enum属性,并在使用JavaScriptSerializer,我的json结果包含枚举的整数值,而不是它的string“姓名”。有没有办法将枚举作为string在我的json中,而不必创建自定义JavaScriptConverter?也许有一个属性我可以装饰enum定义,还是对象属性?

例如:

enum Gender { Male, Female }class Person{
    int Age { get; set; }
    Gender Gender { get; set; }}

预期的JSON结果:

{ "Age": 35, "Gender": "Male" }


牛魔王的故事
浏览 1037回答 3
3回答

慕娘9325324

将以下内容添加到您的global.asax中,用于将c#enum序列化为String  HttpConfiguration config = GlobalConfiguration.Configuration;             config.Formatters.JsonFormatter.SerializerSettings.Formatting =                 Newtonsoft.Json.Formatting.Indented;             config.Formatters.JsonFormatter.SerializerSettings.Converters.Add                 (new Newtonsoft.Json.Converters.StringEnumConverter());
打开App,查看更多内容
随时随地看视频慕课网APP