System.Text.Json, bir karakteri seri durumdan çıkarmak için tek karakterli dize gerektirir
kullanarak System.Text.Jsonbir Char seri durumdan başarıyla çıkarmak için JSON dizesinin tek bir karakter içermesi gerekir.
Açıklama değiştirildi
Önceki .NET sürümlerinde, JSON'daki çok dizelichar
bir özellik veya alan için seri durumdan char
başarıyla çıkarılır. Aşağıdaki örnekte olduğu gibi yalnızca ilk char
dize kullanılır:
// .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\"");
.NET 5 ve sonraki sürümlerinde, seri durumdan çıkarma hedefi bir JsonException olduğunda tekchar
dize dışında herhangi bir char
şey oluşturulur. Aşağıdaki örnek dize tüm .NET sürümlerinde başarıyla seri durumdan çıkarılır:
// Correct usage.
char deserializedChar = JsonSerializer.Deserialize<char>("\"a\"");
Sürüm kullanıma sunulmuştur
5.0
Değişiklik nedeni
Seri durumdan çıkarma için ayrıştırma yalnızca sağlanan yük hedef tür için geçerli olduğunda başarılı olmalıdır. Bir char
tür için tek geçerli yük tekchar
dizedir.
Önerilen eylem
JSON'ı bir char
hedefe seri durumdan çıkardığınızda, dizenin tek char
bir dizeden oluştuğundan emin olun.
Etkilenen API’ler
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin