JavaScriptSerializer : comment sérialiser une énumération en chaîne JSON, pas en nombre
Bonjour à tous ! Je viens de commencer à apprendre C# et ASP.NET, et j'ai rencontré un problème lors de la sérialisation d'objets en JSON avec JavaScriptSerializer.
J'ai cette énumération :
```csharp
public enum Status
{
Active = 1,
Inactive = 2,
Pending = 3
}
```
Et une classe qui l'utilise :
```csharp
public class User
{
public string Name { get; set; }
public Status UserStatus { get; set; }
}
```
Quand je sérialise un objet User :
```csharp
var user = new User { Name = "John", UserStatus = Status.Active };
var json = new JavaScriptSerializer().Serialize(user);
```
J'obtiens un JSON comme : `{"Name":"John","UserStatus":1}`. Mais j'ai besoin que le statut soit une chaîne, par exemple : `{"Name":"John","UserStatus":"Active"}`.
Le problème est que JavaScriptSerializer convertit par défaut l'énumération en sa valeur numérique. Il y a beaucoup d'énumérations dans le projet, et les changer toutes manuellement est pénible. J'ai entendu dire que dans Newtonsoft.Json, il y a un attribut `[JsonConverter(typeof(StringEnumConverte