JavaScriptSerializer: como serializar um enum em string JSON, em vez de número
Olá a todos! Comecei recentemente a aprender C# e ASP.NET, e me deparei com um problema ao serializar objetos em JSON usando JavaScriptSerializer.
Tenho este enum:
```csharp
public enum Status
{
Active = 1,
Inactive = 2,
Pending = 3
}
```
E uma classe que o utiliza:
```csharp
public class User
{
public string Name { get; set; }
public Status UserStatus { get; set; }
}
```
Quando serializo um objeto User:
```csharp
var user = new User { Name = "John", UserStatus = Status.Active };
var json = new JavaScriptSerializer().Serialize(user);
```
Recebo um JSON como: `{"Name":"John","UserStatus":1}`. Mas preciso que o status seja uma string, por exemplo: `{"Name":"John","UserStatus":"Active"}`.
O problema é que JavaScriptSerializer, por padrão, converte o enum em seu valor numérico. No projeto há muitos enums, e alterá-los manualmente é um problema. Ouvi dizer que no Newtonsoft.Json existe o atributo `[JsonConverter(typeof(StringEnumConverte