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