json logo

JSON'a Giriş


العربية Български 中文 Český Dansk Nederlands English Esperanto Français Deutsch Ελληνικά עברית Magyar Indonesia
Italiano 日本 한국어 فارسی Polski Português Română Русский Српско-хрватски Slovenščina Español Svenska Türkçe Tiếng Việt

ECMA-404 The JSON Data Interchange Standard.

object
{}
{ members }
members
pair
pair , members
pair
string : value
array
[]
[ elements ]
elements
value
value , elements
value
string
number
object
array
true
false
null

string
""
" chars "
chars
char
char chars
char
any-Unicode-character-
    except-"-or-\-or-
    control-character
\"
\\
\/
\b
\f
\n
\r
\t
\u four-hex-digits
number
int
int frac
int exp
int frac exp
int
digit
digit1-9 digits
- digit
- digit1-9 digits
frac
. digits
exp
e digits
digits
digit
digit digits
e
e
e+
e-
E
E+
E-

JSON (JavaScript Object Notation) hafif bir veri değişim formatıdır. İnsanların okuyup yazabilmesi kolaydır. Makinaların tarayıp, yaratabilmesi kolaydır. 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 özellikler, JSON'u veri değiştokuşu için ideal hale getirmektedir.

JSON iki yapı üzerine kurulmuştur:

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. Programla dilleri arasında veri değişimi için kullanılan bir formatın, bu yapıları kullanarak oluşturulması da oldukça anlamlıdır.

Bu yapılar JSON'da, aşağdaki şekillerde gösterilirler:

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.

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.

Bir değer, ç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.

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.

Bir sayı C veya Java dilindeki sayılara çok benzer, ancak sekizli (octal) ve onaltılı (hexadecimal) rakamlar kullanılmamaktadır.

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.