¿Cómo serializar campos Enum a String en lugar de Int en ASP.NET MVC Core 3.0? No puedo hacerlo a la vieja usanza.
services.AddMvc().AddJsonOptions(opts =>
{
opts.JsonSerializerOptions.Converters.Add(new StringEnumConverter());
})
Recibo un error:
no se puede convertir de 'Newtonsoft.Json.Converters.StringEnumConverter' a 'System.Text.Json.Serialization.JsonConverter'
Respuestas:
Nueva serialización System.Text.Json
ASP.NET MVC Core 3.0 utiliza la serialización JSON incorporada. Uso
System.Text.Json.Serialization.JsonStringEnumConverter
(con el prefijo "Json"):Más información aquí . La documentación se puede encontrar aquí .
Si prefieres Newtonsoft.Json
También puede usar la serialización Newtonsoft.Json "tradicional":
fuente
.AddMvc()
también puede usarlaservices.AddControllers().AddJsonOptions(...)
.