JavaScriptSerializer : comment sérialiser une enum en chaîne JSON, et non en nombre ?
Bonjour à tous ! Je suis un développeur C# débutant, j'écris une petite application web en ASP.NET Web Forms (vieille école, mais projet legacy). J'utilise `JavaScriptSerializer` pour sérialiser un objet en JSON afin de l'envoyer au client.
Voici une classe :
```csharp
public class User
{
public string Name { get; set; }
public UserRole Role { get; set; }
}
public enum UserRole
{
Admin,
Moderator,
User
}
```
Je crée un objet et le sérialise :
```csharp
var user = new User { Name = "Иван", Role = UserRole.Admin };
var serializer = new JavaScriptSerializer();
string json = serializer.Serialize(user);
Console.WriteLine(json);
```
En sortie, j'obtiens : `{"Name":"Иван","Role":0}`.
Le problème est que `Role` est sérialisé en nombre (0, 1, 2), alors que j'ai besoin d'une valeur textuelle, par exemple `"Admin"`. Côté client, c'est nécessaire pour la lisibilité et la comparaison.
Je sais que dans `System.Text.Json` ou `Newtonsoft.Json` modernes, il existe des attributs comme `[JsonConverter(type