JavaScriptSerializer: cómo serializar un enum a una cadena JSON, no a un número
¡Hola a todos! Acabo de empezar a aprender C# y ASP.NET, y me encontré con un problema al serializar objetos a JSON usando JavaScriptSerializer.
Tengo este enum:
```csharp
public enum Status
{
Active = 1,
Inactive = 2,
Pending = 3
}
```
Y una clase que lo usa:
```csharp
public class User
{
public string Name { get; set; }
public Status UserStatus { get; set; }
}
```
Cuando serializo un objeto User:
```csharp
var user = new User { Name = "John", UserStatus = Status.Active };
var json = new JavaScriptSerializer().Serialize(user);
```
Obtengo un JSON como: `{"Name":"John","UserStatus":1}`. Pero necesito que el status sea una cadena, por ejemplo: `{"Name":"John","UserStatus":"Active"}`.
El problema es que JavaScriptSerializer por defecto convierte el enum a su valor numérico. En el proyecto hay muchos enums, y cambiarlos todos manualmente es un dolor. He oído que en Newtonsoft.Json existe el atributo `[JsonConverter(typeof(StringEnumConverte
No answers yet.
Inicia sesión para dejar una respuesta
Blogs