ASP.NET İle JSON İşlemleri

Bu yazıda ASP.NET ile JSON türündeki verileri okuma ve oluşturma işlemi anlatılmaktadır.

Bu yazıda ASP.NET ile JSON türündeki verileri okuma ve oluşturma işlemi anlatılmaktadır.

Açılımı "Javascript Object Notation" olan JSON, veri değişimi için, insanlar tarafından okunabilen bir biçim sunmaktadır. XML'in Javascript ile çok da iyi kullanılamamasından ötürü tercih edilir, klasik DOM ağaçlarından farksız bir yapıya sahiptir.

[list]
[*] Number
[*] String
[*] Boolean
[*] Array
[*] Object
[*] null
[/list]

diyor Vikipedi, özgür ansiklopedi. Şu aralar twitter api üzerine çalıştığım bir uygulamada sık sık karşılaştığım bir yapı, JSON. Javascript dilinin bir parçası olduğu için, XML den daha kolay ve hızlı bir şekilde işlenebilmesi ve XML e göre daha az yer kaplaması büyük projelerde tercih edilmesinin bir numaralı sebebi. (Bkz. Twitter Api)

Örnek JSON Yapısı ;


JSON yapısını oluşturmak ya da okumak için James Newton tarafından hazırlanmış olan JSON.NET kütüphanesini kullanacağız. Bu kütüphaneyi kullanmanın birden fazla yolu var. Ben LINQ to JSON ile kullanmayı tercih ettim ve yazımda LINQ to JSON ?dan bahsedeceğim.

Öncelikle Visual Studio kullanarak bir web projesi oluşturalım ve http://james.newtonking.com/pages/json-net.aspx adresinden indirdiğimiz Newtonsoft.Json.dll ?yi web projemize referans olarak ekleyelim. Codebehind kısmına Newtonsoft.Json, ve Newtonsoft.Json.Linq namespace?lerini de ekledikten sonra örneğimize geçebiliriz. İlk olarak aşağıdaki gibi bir nesne oluşturalım.


public class uye

    {

        public string adi { get; set; }

        public string nick { get; set; }

        public string profileId { get; set; }

    }



Nesnemizi tanımlayarak alt özelliklerine değer atayalım.

uye uye = new uye();

uye.adi = "Abdurrahman GÜREL";

uye.nick = "GÜREL";

uye.profileId = "152193";



Bize JSON çıktısını oluşturan ve bir label?a atayan kodumuz da aşağıdaki gibi;

string json = JsonConvert.SerializeObject(uye);

Label1.Text = json;



Kodun tamamı aşağıdaki gibi olmalı;

uye uye = new uye();

uye.adi = "Abdurrahman GÜREL";

uye.nick = "GÜREL";

uye.profileId = "152193";

//json çıktısı alınıyor.

string json = JsonConvert.SerializeObject(uye);

Label1.Text = json;



Ve JSON çıktığımızın görüntüsü;


Elimizdeki verilerle JSON çıktısı oluşturmak bu kadar. Şimdi de JSON çıktısını parse yani okuma işlemine bakalım. Açıklamalar kod üzerinde mevcut.

//json oluşturuluyor

string json = @"{""Ad"": ""Abdurrahman GÜREL"",""Nick"": ""GÜREL"",""ProfileId"": ""152193"",""Uzmanlik"": [ ""C#"", ""ASP.NET"", ""CSS"" ] }";

//json parse ediliyor

JObject j = JObject.Parse(json);

//json değerleri label'lara atanıyor.

Label2.Text = (string)j["Ad"];

Label3.Text = (string)j["Nick"];

Label4.Text = (string)j["ProfileId"];

//uzmanlık alanı diziden oluştuğu için JArray nesnesi kullanılarak dizi ayıklanıyor ve değer label'a atanıyor.

JArray ja = (JArray)j["Uzmanlik"];

Label5.Text = (string)ja[0] + "," + (string)ja[1] + "," + (string)ja[2];



Kodun çıktısı aşağıdaki gibi olacaktır;

  • Etiketler;
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

Çok şahane! Güzel anlatım. Teşekkürler
Elinize sağlık çok açıklayıcı bir yazı. Fakat bir şey sormak istiyorum. Hani şu açık artırma sitelerindeki sistemler var sanırım onlarda da json kullanılıyor peki asp.net ile webmethod kullanarak json datamızı kendimiz oluşturup(veri_json.txt) ve bunu jquery ile okuma durumumuz var mıdır? Teşekkürler.
@audespare; güzel yorumunuz için teşekkürler. dediğiniz mümkün ancak, webmethod ile string return eden bir fonksiyon yazıp, onda json verinizi taşımanız daha iyi olur diye düşünüyorum.

Yukarı Git