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:
- http://json.org/json-tr.html
- https://tr.wikipedia.org/wiki/JSON
- http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf
- http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf
- http://javascript.crockford.com/
Hiç yorum yok :
Yorum Gönder