Tarayıcınız JavaScript! desteklememektedir.

JSON (JavaScript Object Notation) Nedir?

Merhaba Arkadaslar,

Bu makalemde, son zamanlarda kullanim orani yükselen, oldukça popüler hale gelen JSON’dan bahsedecegim.

Veri tasima islerini, web service’lerini yillarca XML ile yaptik. Düsük dosya boyutu, kolay okunabilir & yazilabilir olmasi XML’i tercih etmemiz için oldukça önemli nedenlerdi.

Örnek bir XML dosya yapisinda;

<Node>
<item>
Sample Products 1
</item>
<item>
Sample Products 2
</item>
</Node>

Veritabani mantigina yakin, ancak MSSQL, MySQL gibi iliskisel veritabanlari (RDBMS) ile alakasi yok. Çok daha kolay.

Ilk baslarda karisik gibi görünse de, zamanla çok kolay hatta olmazsa olmaz haline geliyor.

Iste JSON, bu noktada, daha da kolay olsun, en kolayi olsun mantigi ile yola çikilmis bir veri degisimini kolaylastiran metin biçimidir.

Açiklamasi, JavaScript Object Notation yani JavaScript Nesne Notasyonu’dur. JSON, EcmaScript programlama dilinden türetildigi halde, programlama dillerinden bagimsiz olan, kullandigi agaç yapisi ile DOM nesnelerine ve XML’e benzese de tamamen farkli bir notasyondur. En önemli avantajlarindan biri ise çok düsük boyutlarda veri tasimamiza olanak saglamasidir.

Özellikle programlama dünyasinda, nesneler üzerinde serialize islemleri gerçeklestirirken, XML yerine JSON çiktisini alarak kolaylikla islemleri gerçeklestirebiliriz.

Peki bu JSON hangi veri tiplerini destekler? Hepsini destekler mi?

Hepsini destekliyor diyebilirim;

  • Number
  • String
  • Boolean
  • Array
  • Object
  • null

Kisa Bilgi

Destekledigi veri tiplerini yazdigimizda, dikkatimi çeken konu içerisinde null olmasi. Bazen, bazi bilgileri null göndermek ya da null almak isteyebiliriz. Bu durumda null bizim için belirleyici bir etkendir. Gelistirdigimiz uygulamada; Eger gelen veri null ise söyle yaparim, degilse böyle yaparim gibi bazi algoritmalar kurabiliriz. Dolayisi ile null programlama dünyasi için gerçekten önemli bir arkadastir!

Kolayliklarindan biri de ;

Veri String ise çift tirnak içerisinde almak, Number ise tirnak içerisinde almamak gibi bazi “prosedür”lerle ugrastirmiyor bizi. Netice giden veri serialize edilmis bir form nesnesi ya da kendi verdigimiz bilgiler. ASPNET ile uygulama gelistiren arkadaslar bilecektir, QueryString ile veri tasima islemi gerçeklestirirken olusturdugumuz link ile, JSON veri tasima islemi gerçeklestirirken olusturdugumuz link yapisi ayni. Tabii burada link yapisi derken yanlis anlasilma olmasin, eger HttpPost ile veri tasiyorsak, browser’da adres barda herhangi bir link vs. görünmüyor.

Ister XmlHttpRequest, ister jQuery Ajax, ister TypeScript, isterseniz AngularJS hangisini kullanirsaniz kullanin, yukarida yazdiklarim geçerli.

Son zamanlarda, kullanim orani oldukça artti, hatta hemen hemen XML’i tahtindan etti diyebiliriz.  

XML ile JSON’in kullanim alanlari ayni, yapilari benzer, ama birbirleriyle alakasi yok.

JSON’in Kullanim Alanlari, Nerelerde Kullanabiliriz?

Su an en önemli kullanim alani E-Ticaret siteleri. Tabii bununla sinirli degil; Artik çogu projede, bazi veriler JSON ile kullaniliyor. Örnegin modül ayarlari, sistem ayarlari vs. gibi. Ki zaten, ASP.NET Core ile birlikte proje ayarlarini Json uzantili dosya/lar ile gerçeklestiriyoruz.
Binlerce datayi tasimanin en kolay yollarindan birini JSON olarak düsünebiliriz. Hem okumasi, hem manipüle etmesi hemde yazmasi oldukça kolay.

Bir sonraki makalemizde JSON nasil olusturulur? JSON Nasil Yazilir? Gibi konulara deginecek, örnek JSON dosyasi olusturacagiz.

Unutmadan, JSON’in dosya uzantisi ve MIME Kodu’nu asagida belirteyim;
Dosya Uzantisi: .json
MIME Kodu: applicaton/json

 

Hepinize bol kod’lu günler diliyorum.