Deserialize
JsonSerializer.Deserialize ile JSON'u nesneye çevirmeyi öğrenirsin.
Deserialize ile metinden nesne
Deserialize metodu, serileştirilmiş metni tekrar nesneye çevirir. Çağrı: Person p = JsonSerializer.Deserialize<Person>(text);. Tür parametresi (<Person>) hedef sınıfı belirtir.
Metin geçerli bir biçimde değilse JsonException fırlatılır. Hedef sınıfta olmayan anahtarlar yok sayılır; eksik anahtarlar için özellik varsayılan değerini alır (ör. null ya da 0). Bu esneklik, küçük yapı değişikliklerinde uyum sağlamayı kolaylaştırır.
Tür parametresi ve generics
Deserialize<T> bir generic metottur. <T> tür parametresi, metnin hangi türe çevrileceğini söyler. Deserialize<Person>(text) bir Person döndürür; Deserialize<int>(text) bir int döndürür.
Derleyici, dönen nesnenin türünü T'den çıkarır. Bu yüzden sonucu bir var ya da açık tür değişkenine atayabilirsin: var p = JsonSerializer.Deserialize<Person>(text);. Generic metotlar tür güvenliğini korur.
Uygulama Metinden nesneye çevir
Aşağıdaki text değişkeni hazırdır. JsonSerializer.Deserialize<Person>(text) ile metni Person nesnesine çevir ve Console.WriteLine ile p.Name'i yazdır.
Örnek çözümü göster
var p = JsonSerializer.Deserialize<Person>(text); ile metni nesneye çevir, Console.WriteLine(p.Name); ile adını yazdır.
Örnek çözüm:
using System;
using System.Text.Json;
class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
class Program
{
static void Main()
{
string text = "{\"Name\":\"Ayşe\",\"Age\":30}";
var p = JsonSerializer.Deserialize<Person>(text);
Console.WriteLine(p.Name);
}
}
Kendini test et
-
Deserialize çağrısını tamamla
Person p = JsonSerializer.Deserialize<____>(text);Cevabı göster
Person p = JsonSerializer.Deserialize<Person>(text); -
Deserialize<Person>(text) ne döndürür?
- string
- List<Person>
- Person
- void
Cevabı göster
Person — Doğru. Deserialize<Person> bir Person nesnesi döndürür; tür parametresi dönen türü belirler.
-
Metodu yönüne eşle
- Serialize
- Nesneden metne
- Deserialize
- Metinden nesneye
- <Person>
- Hedef tür
- JsonException
- Biçim hatası