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'
Réponses:
Nouvelle sérialisation System.Text.Json
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"):Plus d'infos ici . La documentation se trouve ici .
Si vous préférez Newtonsoft.Json
Vous pouvez également utiliser la sérialisation "traditionnelle" de Newtonsoft.Json:
la source
.AddMvc()
vous pouvez également l'utiliser à la placeservices.AddControllers().AddJsonOptions(...)
.