Soru & Cevap

json metni içerisinde sorgu yapma ...

10.02.2014 - 04:44

Merhaba, elimde şu şekilde bir json string var.

http://millipiyango.gov.tr/sonuclar/cekilisler/piyango/20140209.json

Ben bu string içerisinde girilen numarayı arattırıp hangi "ikramiye" içerisinde olduğunu c# ile nasıl buldurabilirim?

62 Görüntülenme

2 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user ercanbakac
ercanbakac
10.02.2014 - 11:17

Peki hocam ben bu deserialize işlemini yaptığımda sınıf otomatik türetiliyor mu yoksa önce bu json yapısı şeklinde bir sınıf oluşturmam gerekli mi?

Mehmet Altıparmak
11.02.2014 - 05:25
Söylediğin gibi öncelikle deserialize etmek istediğin JSON verisindeki alanlara karşılık düşen property'leri olan bir sınıf oluşturmalısın. Hangi property'nin hangi JSON alanına karşılık geldiğini JsonProperty ya da DataMember attribute'lerini kullanarak belirtebilirsin. Örneğin JSON içerisindeki numaralar alanına karşılık düşen bir Numbers property'in olsun. [JsonProperty(Name = "numbers")] public long Numbers {get;set;}
picture-472-1375079047.jpg
mehmet.altiparmak
10.02.2014 - 07:51

Öncelikle bir JSON deserializer ya da parser kullanarak json metnini csharp objelerine çevirmelisin. Bu işlemi yaptığında JSON metni içerisindeki sonuclar alanına karşılık düşen bir List tipinde nesne elinde olacak. O liste içerisinde foreach ya da for ile dönerek yine ilgili alanını kontrol etmek istediğin alanla karşılaştırarak ikramiye miktarını bulabilirsin. 

JSON metnini kendi nesnelerine çevirebilmek için JSON.NET kütüphanesini kullanmanı tavsiye ederim. Nuget üzerinden projene ekleyebilirsin.