Wie serialisiere ich Enum-Felder in ASP.NET MVC Core 3.0 in String anstelle eines Int? Ich kann es nicht so machen wie früher.
services.AddMvc().AddJsonOptions(opts =>
{
opts.JsonSerializerOptions.Converters.Add(new StringEnumConverter());
})
Ich erhalte eine Fehlermeldung:
kann nicht von 'Newtonsoft.Json.Converters.StringEnumConverter' in 'System.Text.Json.Serialization.JsonConverter' konvertieren
Antworten:
Neue System.Text.Json-Serialisierung
ASP.NET MVC Core 3.0 verwendet die integrierte JSON-Serialisierung. Verwendung
System.Text.Json.Serialization.JsonStringEnumConverter
(mit dem Präfix "Json"):Mehr Infos hier . Die Dokumentation finden Sie hier .
Wenn Sie Newtonsoft.Json bevorzugen
Sie können auch die "traditionelle" Newtonsoft.Json-Serialisierung verwenden:
quelle
.AddMvc()
, können Sie diese stattdessen auch verwendenservices.AddControllers().AddJsonOptions(...)
.