C# ile JSON veriyi Parse Etme

C# ile JSON veriyi Parse Etme

Herkese merhaba. Bu yazıda sizlere C# kullanarak JSON veriyi nasıl parse edeceğimizi anlatacağım.İlk olarak şunu belirtmem gerekiyor. JSON veriyi Parse etmek için iki yöntem var birincisi ve bizim kullanacağımız Visual Studio NuGet Paketlerindeki kütüphaneyi kullanarak diğeri ise JSON verinin formatını bildiğimiz için o formattaki verileri kendimiz parse edeceğiz.

Bu işlem çok karışıktır. Yani bazen diziler çok karışık olabilir bundan dolayı bunu yapmak için sağlam bi yazılım mantığı ve kodlama bilgisi gerekir. Basit JSON verilerde ise o kadar çok bilgiye gerek yoktur.

Neyse şimdi konumuza geçelim.

İlk olarak visual studio daki projemize geliyoruz ve projemize sağ tıklayıp Manage NuGet Packages diyoruz. Burda açılan ekranda JSON Parse diye arama yapıyoruz ve gelenlerden Json.NET olanı seçip projemize ekliyoruz.

Ben bu kütüphaneyi kullandım. Kullanımı gayet kolay olduğu için.
Şimdi projemize entegre ettiğimize göre artık formumuza geliyoruz ve isim uzayına indirdiğimiz kütüphanenin kütüphanelerini ekliyoruz.


using Newtonsoft.Json;
using Newtonsoft.Json.Linq;

Yukarıdaki kütüphaneler ile artık formumuzda JSON parse etme işlemini yapabiliriz. Şimdi geçelim JSON parse etme işlemine...

Önemli bir konuya dikkat çekmek istiyorum. Burada JSON veriyi parse ederken; parse etmeye alıştığınız veri doğru bir şekilde encode edilmiş olmalıdır. Yani veri eğer çözümlenemiyorsa parse edilemez. Buna dikkat etmemiz gerekmektedir. Aksi takdirde programımız çalışmaz ve hata alırsınız.

Şimdi sizlere örnek bir JSON veri aktarayım ve bu veriyi nasıl parse edeceğimizi görelim...

{
"id": "33",
"baslik": "Thecode program sitesi  ",
"icerik": "Programlama, yazılım ve daha fazlası için...",
"konu": "sitemde bulabileceğiniz çok fazla miktarda bilgi bulunmaktadır ",
"sahip" : "Burak hamdi Tufan"
}
Yukarıda örnek bir json veri bulunmakta.

Peki Elimizdeki JSON verinin doğruluğunu nasıl kontrol edeceğiz ?

Bunun içinde internette bazı siteler var siz JSON verinizi giriyorsunuz orasıda sizin için verinizi kontrol ediyor ve doğru JSON formatında olup olmadığını kontrol ediyor. Bu sayede JSON verimizin doğruluğunu anlayabiliyoruz. Bu tarz sitelerden benim kullandığım kontrol sitesinin linki : Online JSON parser

JSON verinizi buradan kontrol ettirin. Doğruysa zaten veriyi parse edecektir. Doğru değilse eğer Parse Error diye size hata verecektir.

JSON verilerin doğruluk meselesinide hallettiğimize göre şimdi gelelim c# ile JSON verileri nasıl parse edeceğiz.
İlk olarak size fonksiyonu yazayım ve fonksiyonu parça parça anlatayım.

Aşağıda fonksiyonun tamamı :

 public string ParseEt(string veri)
        {
             string cikti = "";

             JObject json = JObject.Parse(veri);
             cikti =  json["istenen json verisi"].ToString();

             return cikti;
        }
Yukarıda gördüğümüz üzere çok basit bir kaç kod ile Parse işlemimizi tamamlıyoruz. şimdi kodları açıklayayım sizlere.

JObject json = JObject.Parse(veri);

Yukarıdaki komut ile fonksiyon içerisine gönderilen JSON veriyi parse edip dizi halline dönüştürerek iki boyutlu bir JSON dizisine atıyoruz ve attığımız dizide tutuyoruz. Daha sonra bunları isimleryle beraber çağıracağız.

Ardından

cikti =  json["istenen json verisi"].ToString();
return cikti;
Kodları ile yukarıda diziye attığımız verileri adları ile çağırıyoruz. örnek verecek olursak

cikti =  json["baslik"].ToString();

Şeklinde yazdığımız kod bize geri The Code Program olarak dönecektir. Çünkü yukarıdaki verinin altında bu veri bulunmaktadır.

Bu şekilde JSON verilerimizi Parse edebiliyoruz.
JSON veri formatı web teknolojilerinde kullanılan çok hızlı ve güvenli bir veri tipidir. Bu yüzden programlarımızda kullanmamız bizim faydamıza olacaktır. Tabiiki SOAP türü veri tipide çok kötü değildir. fakat benim önerim JSON veri tipidir.

Bu yazımızda bu kadar arkadaşlar.

İyi çalışmalar dilerim -- Takipte Kalın

Burak hamdi TUFAN


Tags


Share this Post

Send with Whatsapp

Post a Comment

Success! Your comment sent to post. It will be showed after confirmation.
Error! There was an error sending your comment. Check your inputs!

Comments

  • There is no comment. Be the owner of first comment...