System.Text.Json memerlukan string karakter tunggal untuk mendeserialisasi karakter
Agar berhasil mendeserialisasi Char menggunakan System.Text.Json, string JSON harus berisi satu karakter.
Deskripsi perubahan
Dalam versi .NET sebelumnya, string multi-dichar
JSON berhasil dideserialisasi ke char
properti atau bidang. Hanya string pertama char
yang digunakan, seperti dalam contoh berikut:
// .NET Core 3.0 and 3.1: Returns the first char 'a'.
// .NET 5 and later: Throws JsonException because payload has more than one char.
char deserializedChar = JsonSerializer.Deserialize<char>("\"abc\"");
Di .NET 5 dan yang lebih baru, apa pun selain string tunggalchar
menyebabkan JsonException dilemparkan ketika target deserialisasi adalah char
. Contoh string berikut berhasil dideserialisasi di semua versi .NET:
// Correct usage.
char deserializedChar = JsonSerializer.Deserialize<char>("\"a\"");
Versi yang diperkenalkan
5.0
Alasan untuk berubah
Penguraian untuk deserialisasi hanya boleh berhasil ketika payload yang disediakan berlaku untuk jenis target. Untuk jenis char
, satu-satunyachar
payload yang valid adalah string tunggal.
Tindakan yang direkomendasikan
Ketika Anda mendeserialisasi JSON ke dalam char
target, pastikan string terdiri dari satu char
.
API yang Terpengaruh
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk