Bagaimana cara membuat serialisasi bidang Enum ke String alih-alih Int di ASP.NET MVC Core 3.0? Saya tidak bisa melakukannya dengan cara lama.
services.AddMvc().AddJsonOptions(opts =>
{
opts.JsonSerializerOptions.Converters.Add(new StringEnumConverter());
})
Saya mendapatkan kesalahan:
tidak dapat mengkonversi dari 'Newtonsoft.Json.Converters.StringEnumConverter' ke 'System.Text.Json.Serialization.JsonConverter'
Jawaban:
System.Text.Json serialisasi baru
ASP.NET MVC Core 3.0 menggunakan serialisasi JSON bawaan. Gunakan
System.Text.Json.Serialization.JsonStringEnumConverter
(dengan awalan "Json"):Info lebih lanjut di sini . Dokumentasi dapat ditemukan di sini .
Jika Anda lebih suka Newtonsoft.Json
Anda juga dapat menggunakan serialisasi Newtonsoft.Json "tradisional":
sumber
.AddMvc()
Anda juga dapat menggunakannyaservices.AddControllers().AddJsonOptions(...)
.