C#’ta JSON Serileştirme

C#’ta JSON Serileştirme yapmak için System.Web.Extensions adlı assembly’nin içinde bulunan System.Web.Script.Serialization isim alanının JavaScriptSerializer adlı sınıfını kullanabiliriz.
Assembly’i projemize referans olarak ekledikten sonra aşağıdaki kodu projemize ekleyelim ve DoOps adlı metodu çalıştıralım.

//objemiz
struct Person
{
    public string Name;
    public string Location;
    public char Gender;
}

//json’a çevrilmiş string’in tutulacağı değişken
string SerializedObject;

//serialize/deserialize yapan objemiz.
System.Web.Script.Serialization.JavaScriptSerializer s = new System.Web.Script.Serialization.JavaScriptSerializer();

//tüm işlemleri sırasıyla yapan metodumuz(bkz. façade)
void DoOps()
{
    Person p = new Person();
    p.Name = “Doruk”;
    p.Location = “İstanbul”;
    p.Gender = ‘M’;

    ConvertObjectToJSON(p);
    ConvertJSONToObject(SerializedObject, typeof(Person));
}

//verilen örneği serileştiren metod
void ConvertObjectToJSON(object instance)
{
    //serileştirme işlemi
    SerializedObject = s.Serialize(instance);

    //string’i görüntülüyoruz
    MessageBox.Show(SerializedObject);
}

//verilen string’i objeye dönüştüren metod
void ConvertJSONToObject(string JSON, Type type)
{
    //DuplicatePerson adında yeni bir instance yaratıp geri serileştirme işlemimizi yapıyoruz
    Person DuplicatePerson = (Person)s.Deserialize(JSON, type);

    //ve yeni örneğimiz üzerinden sonucu görüntülüyoruz
    MessageBox.Show(string.Format(“{0}n{1}n{2}”, DuplicatePerson.Name, DuplicatePerson.Location, DuplicatePerson.Gender));

}

Bunlarda ilginizi çekebilir

Bir yanıt yazın

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