C#’ ta Serileştirme-Deserileştirme(Binary,Xml,JSON) İşlemleri Nedir ve Neden Kullanılır?

Burak Fatih Kılıçaslan
3 min readJun 7, 2023

Serileştirme Nedir?

Serileştirme işlemini özetle ifade etmek gerekirse; veri veya nesnelerin bir formattan diğer bir formata dönüştürülmesi olarak niteleyebiliriz. Ek olarak açıkça ifade etmek gerekirse; serileştirme, bir nesnenin veya veri yapısının bellekteki ikincil bir biçime dönüştürülmesi sürecidir. Bu ikincil biçim genellikle binary formatı, XML belgesi, JSON verisi gibi bir formatta olabilir.

Neden İhtiyaç Duyarız?

Verileri saklamak, iletmek veya işlemek için daha uygun bir formata dönüştürmemizi sağlar. Serileştirme işlemi, genellikle verileri bir dosyaya veya ağ üzerinden başka bir cihaza iletmek veya veri tabanına kaydetmek istediğimiz durumlarda kullanabiliriz.

Farklı sistemler arasında da (Örneğin, bir nesnenin JSON formatına serileştirilmesi, bu nesnenin veri yapısının bir metin formatına dönüştürülmesini sağlar. JSON, yaygın olarak desteklenen ve farklı programlama dilleri arasında kolayca paylaşılabilen bir formattır. Bu sayede, bir sistemdeki bir nesne JSON olarak serileştirilip, başka bir sistemde bu JSON verisi alınıp deserileştirilerek orijinal nesne elde edilebilir.) veri uyumluluğunu sağlar ve veriyi yönetmemizde esneklik sağlar.

Deserileştirme Nedir?

Deserileştirme işlemini genel bir ifadeyle açıklamak gerekirse serileştirilmiş bir nesnenin veya veri yapısının ikincil biçimden (byte dizisi, JSON verisi, XML belgesi) orijinal nesne veya veri yapısı haline getirilmesi sürecidir. Deserileştirme işlemi, bir nesneyi bir veri akışından okuyarak veya bellekteki yapısını kullanarak gerçek bir nesne oluşturur. Bu genellikle bir dosyadan veya ağ üzerinden gelen verilerin, kullanılan programlama dilinde nesne modeline dönüştürülmesi anlamına gelir diyebiliriz.

Şimdi C#’ ta byte dizisi, XML belgesi ve JSON verilerini kod tarafında nasıl işlemler gerçekleştirerek elde edeceğimize bakalım:

Binary Formatında;

Person adında bir class tanımlamış olalım
Binary formatında serileştirme işlemini gerçekleştiriyoruz
Binary formatında deserileştirme işlemini gerçekleştirebiliriz

XML Formatında;

XML formatında serileştirme işlemini gerçekleştiriyoruz
XML formatında deserileştirme işlemini gerçekleştirebiliriz

JSON Formatında;

JSON formatında serileştirme işlemini gerçekleştiriyoruz
JSON formatında deserileştirme işlemini gerçekleştirebiliriz

Sonuç Olarak Özetlemek Gerekirse;

Nesne tabanlı programlama dillerinde, bir nesnenin serileştirilmesi ve deserileştirilmesi, verilerin farklı sistemler veya platformlar arasında paylaşılmasını, veri depolama ve geri yükleme işlemlerini, veri tabanına kaydetmeyi ve ağ üzerinden veri iletimini kolaylaştırır. Bu işlemler, programlamada veri yönetimi ve entegrasyonu için önemli bir rol oynar diyebiliriz.

--

--