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.

JSON'ı bir char hedefe seri durumdan çıkardığınızda, dizenin tek charbir dizeden oluştuğundan emin olun.

Etkilenen API’ler