C# Programming

C#’ta Etkin JSON Seriselleştirme

Spread the love

JSON (JavaScript Nesne Gösterimi), web uygulamaları ve API’lerde yaygın olarak kullanılan hafif bir veri alışverişi biçimidir. C#, nesneleri JSON dizelerine verimli bir şekilde dönüştürmek için çeşitli yöntemler sunarak diğer sistemlerle iletişimi basitleştirir ve insan tarafından okunabilir veri depolama sağlar. Bu makale, bu dönüştürme için üç popüler yöntemi inceleyerek güçlü ve zayıf yönlerini karşılaştırmaktadır.

İçerik Tablosu

JavaScriptSerializer kullanarak Nesneleri JSON’a Dönüştürme

System.Web.Script.Serialization.JavaScriptSerializer sınıfı, JSON serileştirmeye doğrudan bir yaklaşım sunar. Bununla birlikte, eski bir bileşendir ve daha modern kütüphanelerin özelliklerine ve performansına sahip değildir. Yeni projeler için genellikle daha yeni alternatiflerin kullanılması önerilir.


using System;
using System.Web.Script.Serialization;

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public class Example
{
    public static void Main(string[] args)
    {
        Person person = new Person { Name = "John Doe", Age = 30 };

        JavaScriptSerializer serializer = new JavaScriptSerializer();
        string jsonString = serializer.Serialize(person);

        Console.WriteLine(jsonString); // Çıktı: {"Name":"John Doe","Age":30}
    }
}

Not: System.Web.Extensions başvurusu gerektirir (genellikle .NET Framework Derlemeleri altında bulunur). .NET Core ve sonraki sürümler için önerilmez.

JsonConvert.SerializeObject ile Verimli JSON Seriselleştirme

Newtonsoft.Json (genellikle Json.NET olarak anılır), C# için yaygın olarak kullanılan, yüksek performanslı bir JSON kütüphanesidir. JSON serileştirme ve serileştirme çözümü için sağlam ve özellik açısından zengin bir çözüm sağlar. Bu yöntemi kullanmak için Newtonsoft.Json NuGet paketini yükleyin.


using Newtonsoft.Json;

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public class Example
{
    public static void Main(string[] args)
    {
        Person person = new Person { Name = "John Doe", Age = 30 };

        string jsonString = JsonConvert.SerializeObject(person);

        Console.WriteLine(jsonString); // Çıktı: {"Name":"John Doe","Age":30}
    }
}

JsonConvert.SerializeObject özlü ve verimlidir. Newtonsoft.Json, null değerlerin, biçimlendirmenin ve daha fazlasının işlenmesi için kapsamlı özelleştirme seçenekleri sunar.

JObject.FromObject ile İnce Ayrıntılı Kontrol

Newtonsoft.Json kütüphanesinin bir parçası olan JObject sınıfı, serileştirmeden önce JSON yapısı üzerinde ince ayrıntılı kontrol sağlar. Bu, JSON gösterimini bir dizeye dönüştürmeden önce düzenlerken özellikle yararlıdır.


using Newtonsoft.Json;
using Newtonsoft.Json.Linq;

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public class Example
{
    public static void Main(string[] args)
    {
        Person person = new Person { Name = "John Doe", Age = 30 };

        JObject jsonObject = JObject.FromObject(person);
        string jsonString = jsonObject.ToString();

        Console.WriteLine(jsonString); // Çıktı: {"Name":"John Doe","Age":30}
    }
}

Basit nesneler için JsonConvert.SerializeObject‘e benzer olsa da, JObject.FromObject karmaşık senaryolar için daha fazla esneklik sunar. Son serileştirmeden önce JObject içindeki özellikleri kolayca ekleyebilir, kaldırabilir veya değiştirebilirsiniz.

Sonuç: Modern C# geliştirme için, performansları, özellikleri ve esneklikleri nedeniyle Newtonsoft.Json’ın JsonConvert.SerializeObject ve JObject.FromObject yöntemleri şiddetle önerilir. Newtonsoft.Json NuGet paketini yüklemeyi unutmayın.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir