Comment sérialiser des champs Enum en chaîne au lieu d'un int dans ASP.NET MVC Core 3.0? Je ne peux pas le faire à l'ancienne.
services.AddMvc().AddJsonOptions(opts =>
{
opts.JsonSerializerOptions.Converters.Add(new StringEnumConverter());
})
Je reçois une erreur:
impossible de convertir de 'Newtonsoft.Json.Converters.StringEnumConverter' en 'System.Text.Json.Serialization.JsonConverter'
ASP.NET MVC Core 3.0 utilise la sérialisation JSON intégrée. Utilisation System.Text.Json.Serialization.JsonStringEnumConverter
(avec le préfixe "Json"):
services
.AddMvc()
// Or .AddControllers(...)
.AddJsonOptions(opts =>
{
opts.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter());
})
Plus d'informations ici . La documentation peut être trouvée ici .
Vous pouvez également utiliser la sérialisation "traditionnelle" de Newtonsoft.Json:
services
.AddControllers()
.AddNewtonsoftJson(opts => opts.Converters.Add(new StringEnumConverter()));