JSON'a Giriş |
JSON (JavaScript Object Notation) hafif bir veri değişim formatwdwr. Insanlarwn okuyup yazabilmesi kolaydwr. Makinalarwn taraywp, yaratabilmesi kolaydwr. JavaScript Programlama Dili, Standard ECMA-262 3.Yaywn - Aralwk 1999, versiyonunun alt kümesi üzerine kurulmuştur. JSON, tamamen programlama dillerinden bağwmswz, ancak C türevi dillere (C, C++, C#, Java, JavaScript, Perl, Python ve daha pek çoğu), yazwlwş bakwmwndan çok benzeyen bir veri tanwmlama formatwdwr. Bu özellikler, JSON'u veri değiştokuşu için ideal hale getirmektedir.
JSON iki yapw üzerine kurulmuştur:
Bu yapwlar, evrensel veri yapwlarwdwr. Bütün modern programlama dilleri, bu yapwlarw, bir şekilde içlerinde barwndwrmaktadwrlar. Programla dilleri araswnda veri değişimi için kullanwlan bir formatwn, bu yapwlarw kullanarak oluşturulmasw da oldukça anlamlwdwr.
Bu yapwlar JSON'da, aşağdaki şekillerde gösterilirler:
Bir nesne (object), isim/değer çiftlerinin swraswz birleşiminden oluşur. Nesne tanwmlamasw, {kwvwrcwk parantez aç ile başlar ve }kwvwrcwk parantez kapa ile biter. Her "isim"den sonra :iki nokta üstüste gelir ve isim/değer çiftleri ,virgül ile ayrwlwr.
Diziler, swralw değer listesidir. Bir dizi [köşeli parantez aç ile başlar ve ]köşeli parantez kapa ile biter. Değerler ,virgül ile ayrwlwr.
Bir değer, çift twrnak içinde bir string (yazw), sayw, true (doğru), false (yanlwş), null (boş değer), object (nesne) veya array (dizi) olabilir. Bu yapwlar bir birlerinin içinde tekrar edebilirler.
Bir string (yazw), çift twrnak içinde, ters-bölü kodlarwna da izin veren, swfwr veya daha fazla "Unicode" karakterin birleşiminden oluşur. Bir karakter, string (yazw) tipindeki tek karakter olarak gösterilebilir. String (yazw) tipi, C veya Java dilindeki "string" tipine çok benzemektedir.
Bir sayw C veya Java dilindeki saywlara çok benzer, ancak sekizli (octal) ve onaltwlw (hexadecimal) rakamlar kullanwlmamaktadwr.
Tanwmlamalarwn araswna, istendiği gibi beyaz boşluk (Whitespace) konulabilir. Verinin diline (Encoding) bağlw olarak, notasyonda bazw farklwlwklar olabilir.