CodeBlanks Logo Icon CodeBlanks

Deserialize

C# kursu · Orta seviye · Ders 107/116

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

  1. Deserialize çağrısını tamamla

    Person p = JsonSerializer.Deserialize<____>(text);
    Cevabı göster
    Person p = JsonSerializer.Deserialize<Person>(text);
  2. 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.

  3. Metodu yönüne eşle

    Serialize
    Nesneden metne
    Deserialize
    Metinden nesneye
    <Person>
    Hedef tür
    JsonException
    Biçim hatası

Orta seviye bölümündeki tüm dersler