Avatar ·

JavaScriptSerializer: como serializar um enum em uma string JSON, em vez de um número?

Olá a todos! Sou um desenvolvedor C# iniciante, escrevendo uma pequena aplicação web em ASP.NET Web Forms (escola antiga, mas projeto legado). Estou usando `JavaScriptSerializer` para serializar um objeto em JSON, para enviar ao cliente. Tenho a seguinte classe: ```csharp public class User { public string Name { get; set; } public UserRole Role { get; set; } } public enum UserRole { Admin, Moderator, User } ``` Crio um objeto e serializo: ```csharp var user = new User { Name = "Иван", Role = UserRole.Admin }; var serializer = new JavaScriptSerializer(); string json = serializer.Serialize(user); Console.WriteLine(json); ``` Na saída obtenho: `{"Name":"Иван","Role":0}`. O problema é que `Role` é serializado como número (0, 1, 2), mas preciso que seja um valor string, por exemplo `"Admin"`. No cliente, isso é necessário para legibilidade e comparação. Sei que no moderno `System.Text.Json` ou `Newtonsoft.Json` existem atributos como `[JsonConverter(type