22 Haziran 2015 Pazartesi

JSON nedir?

JSON(Java Script Object Notation – Java Script Nesne Gösterimi), birbirinden bağımsız yazılım platformlarında bilgi alışverişi yaparken, geliştiricilerin daha kolay okuyup, anlayabildikleri düşünülen veri değişim formatı yada veri gösterim dili dir.
JavaScript Programlama Dili, Standard ECMA-262 3.Yayın - Aralık 1999, versiyonunun alt kümesi üzerine kurulmuştur. JSON, tamamen programlama dillerinden bağımsız, ancak C türevi dillere (C, C++, C#, Java, JavaScript, Perl, Python ve daha pek çoğu) yazılış bakımından çok benzeyen bir veri tanımlama formatıdır. Bu özellikleri, JSON'u veri değiş tokuşu için ideal hale getirmektedir.JSON; Number, String, Boolean, Array, Object, null veri tiplerini destekler.
JSON, iki yapı üzerine kurulmuştur:
  • İsim/değer(name/value) çifti koleksiyonu. Çeşitli programlama dillerinde bu, "object, record, struct, dictionary, hash table, keyed list veya associative array" olarak da tanımlanmıştır.
  • Sıralı değer listesi. Çoğu programlama dilinde bu, "array, vector, list veya sequence" olarak tanımlanır.
Bu yapılar, evrensel veri yapılarıdır. Bütün modern programlama dilleri, bu yapıları, bir şekilde içlerinde barındırmaktadırlar.
Bu yapılar JSON'da, aşağıdaki şekillerde gösterilirler:
Object: Bir nesne (object), isim/değer çiftlerinin sırasız birleşiminden oluşur. Nesne tanımlaması, { (kıvırcık parantez aç) ile başlar ve } (kıvırcık parantez kapa) ile biter. Her "isim"den sonra : (iki nokta üstüste) gelir ve isim/değer çiftleri , (virgül) ile ayrılır.
Şekil-1 : Object türündeki yapının gösterimi
Array: Diziler, sıralı değer listesidir. Bir dizi [ (köşeli parantez aç) ile başlar ve ] (köşeli parantez kapa) ile biter. Değerler , (virgül) ile ayrılır.
Şekil-2 : Array türündeki yapının gösterimi
Bir değer(value); çift tırnak içinde bir string (yazı)sayı, true (doğru)false (yanlış)null (boş değer)object (nesne) veya array (dizi) olabilir. Bu yapılar bir birlerinin içinde tekrar edebilirler.
Şekil-3 : Array içerisinde kullanılabilen veri türleri gösterimi
Bir string (yazı); çift tırnak içinde, ters-bölü kodlarına da izin veren, sıfır veya daha fazla "Unicode" karakterin birleşiminden oluşur. Bir karakter, string (yazı) tipindeki tek karakter olarak gösterilebilir. String (yazı) tipi, C veya Java dilindeki "string" tipine çok benzemektedir.
Şekil-4 : String olarak yazılabilecek ifadelerin gösterimi
Bir number(sayı); C veya Java dilindeki sayılara çok benzer, ancak sekizli (octal) ve onaltılı (hexadecimal) rakamlar kullanılmamaktadır.
Şekil-5 : Number olarak yazılabilecek ifadelerin gösterimi
Tanımlamaların arasına, istendiği gibi beyaz boşluk (Whitespace) konulabilir. Verinin diline (Encoding) bağlı olarak, notasyonda bazı farklılıklar olabilir.
Örnek:
{
   "tip": "araba",
   "tur": "otomobil",
   "urunler": [
       {"marka": "Hyundai", "model": "1.3 LS", "yil": 1997},
       {"marka": "Toyota", "model": "Corolla", "yil": 2007},
       {"marka": "Ford", "model": "Focus", "yil": 2015}
       ]
}

Kaynaklar:





Hiç yorum yok :

Yorum Gönder