Avatar ·

JavaScriptSerializer: 如何将枚举序列化为JSON字符串而非数字

大家好!我刚开始学习C#和ASP.NET,在使用JavaScriptSerializer将对象序列化为JSON时遇到了一个问题。 我有一个这样的枚举: ```csharp public enum Status { Active = 1, Inactive = 2, Pending = 3 } ``` 以及使用它的类: ```csharp public class User { public string Name { get; set; } public Status UserStatus { get; set; } } ``` 当我序列化User对象时: ```csharp var user = new User { Name = "John", UserStatus = Status.Active }; var json = new JavaScriptSerializer().Serialize(user); ``` 得到的JSON是这样的:`{"Name":"John","UserStatus":1}`。而我需要状态是字符串,例如:`{"Name":"John","UserStatus":"Active"}`。 问题在于JavaScriptSerializer默认将枚举转换为其数值。项目中枚举很多,手动修改所有枚举很麻烦。我听说在Newtonsoft.Json中有`[JsonConverter(typeof(StringEnumConverte`