Avatar ·

JavaScriptSerializer: cómo serializar un enum a una cadena JSON, no a un número

¡Hola a todos! Soy un desarrollador principiante de C# y estoy escribiendo una pequeña aplicación web en ASP.NET Web Forms (escuela antigua, pero el proyecto es legacy). Estoy usando `JavaScriptSerializer` para serializar un objeto a JSON y enviarlo al cliente. Tengo esta clase: ```csharp public class User { public string Name { get; set; } public UserRole Role { get; set; } } public enum UserRole { Admin, Moderator, User } ``` Creo un objeto y lo serializo: ```csharp var user = new User { Name = "Иван", Role = UserRole.Admin }; var serializer = new JavaScriptSerializer(); string json = serializer.Serialize(user); Console.WriteLine(json); ``` En la salida obtengo: `{"Name":"Иван","Role":0}`. El problema es que `Role` se serializa como un número (0, 1, 2), pero necesito que sea un valor de cadena, por ejemplo `"Admin"`. En el cliente esto es necesario para la legibilidad y la comparación. Sé que en `System.Text.Json` o `Newtonsoft.Json` modernos hay atributos como `[JsonConverter(type