Как сериализовать поля Enum в String вместо Int в ASP.NET MVC Core 3.0? Я не могу сделать это по-старому.
services.AddMvc().AddJsonOptions(opts =>
{
opts.JsonSerializerOptions.Converters.Add(new StringEnumConverter());
})
Я получаю сообщение об ошибке:
невозможно преобразовать из 'Newtonsoft.Json.Converters.StringEnumConverter' в 'System.Text.Json.Serialization.JsonConverter'
Ответы:
Новая сериализация System.Text.Json
ASP.NET MVC Core 3.0 использует встроенную сериализацию JSON. Используйте
System.Text.Json.Serialization.JsonStringEnumConverter
(с префиксом "Json"):Больше информации здесь . Документацию можно найти здесь .
Если вы предпочитаете Newtonsoft.Json
Вы также можете использовать «традиционную» сериализацию Newtonsoft.Json:
источник
.AddMvc()
вас также можно использоватьservices.AddControllers().AddJsonOptions(...)
.