Json Dönüşümleri

Merhaba bu yazımda json dönüşümlerini anltacağım. Json bildiğimiz gibi JavaScript Object Notatin kelimelerin kısaltılmışı olan Nesle Yönelimli Javascript anlamına gelmektedir. Bir başka bir deyişle javascript uygulamarında web tabnlı uygulamalarda veri alışverişimde json tipleri kullanırız. Çünkü hızlı ve her teknolojiye uyumludur.Mesala boyle bir json çıkışı olabilir. 

{
   "tip": "kitap",
   "tur": "roman",
   "urunler": [
       {"ad": "Ihtiyar Kemanci", "yazar": "Nihat Genc"},
       {"ad": "Su Cilgin Turkler", "yazar": "Turgut Ozakman"},
       {"ad": "Kavgam", "yazar": "Adolf Hitler"}
       ]
}

Bir örnek ile açıklayalım. JavaScriptSerialize nesnesi System.Web.Extensions assembly içindeki System.Web.Script.Serialization isim alanında bulunmaktadır. Buradan da msdndeki sample uygulamayı ulaşabilirsiniz.

 

static void Main(string[] args)
        {
            List<Calisan> Calisanlar = new List<Calisan>();
            new List<Calisan> 
            {
                new Calisan  { Name="Nisa", Surname="Yürek", Maas=5600M, UserName="nisa@gmail.com"},
                new Calisan  { Name="Dilek", Surname="Yürek",  Maas=1000M, UserName="nisanli@hotmail.com"},
                new Calisan  { Name="Mustafa", Surname="Yürek",  Maas=1000M, UserName="Mustafa@hotmail.com"}
            }.ForEach(t => Calisanlar.Add(t));

            JavaScriptSerializer js = new JavaScriptSerializer();
            string sonuc=js.Serialize(Calisanlar);
            System.Console.WriteLine(sonuc);

            //json dan ters dönüşüm yapalım... burda aşırı yüklenmiş olan generic bir yöntem olan deserialize kullanıyoruz.
            var insanDes = js.Deserialize<List<Calisan>>(sonuc);
            foreach (var item in insanDes)
            {
                System.Console.WriteLine("{0} {1} {2} {3}",item.Name,item.Surname,item.UserName,item.Maas);
            }

        }
    }

    class Calisan
    {
        public string Name { get; set; }
        public string Surname { get; set; }
        public string UserName { get; set; }
        public decimal Maas { get; set; }
    }

 

Add comment

The file '/Custom/Widgets/Calendar/widget.cshtml' does not exist.The file '/Custom/Widgets/Category list/widget.cshtml' does not exist.The file '/Custom/Widgets/Tag cloud/widget.cshtml' does not exist.The file '/Custom/Widgets/Page List/widget.cshtml' does not exist.The file '/Custom/Widgets/Month List/widget.cshtml' does not exist.