Merhaba arkadaşlar, bu makalede json un c# ile nasıl kullanılacağına değineceğim.
Uzun uzun json nedir ne değildir gibi teorik bilgilere girmeyeceğim. ancak wiki den hızlı bir araştırma yapmanızda fayda görüyorum. Json(javascript object notataion)
Kabaca json aslında xmlin tahtına aday yeni bir notasyondur. En büyük farkı tanımlamada xmlden daha az karakter ihtiva etmesidir.Bunlar tabi yazılımcılar arasında geçen yeni platformlara implemente olma için ısınma cümleleri. Benim kullanmamın en büyük nedeni javascript ile olan mükemmel uyumu(xml e göre) DOM yapısına uygun olması tabii ki bir avantaj.
Xml in doğuşunu hatırlayın. Temel amaç farklı platformlar arasındaki veri bütünlüğünü sağlamak için kullanılan bir yapıydı.Bu yapı hala kullanılıyor. Ancak Json xml in tahtını sallamaya başladı. Büyük servisler, büyük programlar artık ortak iletişim dili olarak json u kullanmaya başladı. Bunlara en büyük örnek twitter facebook verilebilir.
Kendinize Json u neden kullanmalıyım, nerede kullanmalıyım diye sorular sorduğunuzu duyar gibiyim. Harika doğru yoldayız. Yazıyı çok fazla uzatmadan hemen pratiğe geçelim
Örnek senaryo: Bir web sitemiz var ve bu web sitesi asenkronla işlem yapmalı.
Jquery AJAX Xml webservis yada pagemethod bu problemi kotarabilmemiz için bu teknolojileri kullanmamız gerekmekte. Peki, bu işin hakkı nedir, nasıl en doğru biçimde bu projeyi tamamlayabiliriz.
Aklıma gelen çözümler hızlı çalışmalı, client ile server arasındaki minimum data aktarımı olmalı. Jquery ile işlerken de çok fazla vaktimizi ve client bilgisayarı yormamalı.
CEVAP: JSON
c# ile List Dictionary Generic gibi keywordlere aşinaysanız aşağıdaki kod sizi zorlamayacaktır.

Çıktısı:
[
{"UrlCategoryName":"Yeme-icme",
"KategoriAdi":"Yeme İçme",
"KategoriId":2
},
{"UrlCategoryName":"Eglence",
"KategoriAdi":"Eglence",
"KategoriId":5
},
{"UrlCategoryName":"Egitim",
"KategoriAdi":"Egitim",
"KategoriId":4
}
]
Şimdi xml ile json cıktısı arasındaki farka bakalım.

C# tarafında JSON ürettik. Jquery ile nasıl kullanacağımız ise aşağıda. Aynı DataTable gibi :)
$.ajax({
type: "POST",
url: Baglanti() + "WebServices/xxx.asmx/Kategori",
data: '{"id":"'+kategoriid+'"}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
var obj = jQuery.parseJSON(msg.d);
obj[0]["KategoriAdi"]
}
eger elinizde bir kayıtseti varsa yani 15,20 satırlık bir kayıt seti o zaman jquery each yada herhangi bir döngü kullanmalısınız. Burada temel amaç erişmek istediğiniz satırın index numarasını belirtmektir.
$.each(obj, function(index, data) {
data.KategoriAdi
});
yada
for(i=0; i (kucukisareti) obj.kength; i++){
obj[i]["KategoriAdi"]
}
Kullanım tarzı tamamen size kalmıştır.
Tags: Json