JSON'da veriler nesnelerden oluşur. Bir nesne
{"property1":"value1", "property2":"value2"}
şeklinde tanımlanır.
Nesnelerden oluşan bir dizi
[ {..}, {..}, {..} ]
nesneler arasında virgül olacak şekilde tanımlanır.
Bir nesnenin alanları ad ve değer şeklinde verilir
"ad":deger
şeklinde verilir. Birden fazla alan varsa arasında virgül koyulur :
{"ad1":"deger1","ad2":"deger2,"ad3":deger3,"ad4":{..},"ad5":[..]}
Örnek bir JSON :
{
"ogrenciler": [{"ad":"Ali", "no":717},
{"ad":"Ahmet", "no":215},
{"ad":"Mehmet", "no":345}]
}
Yukarıdaki JSON'da en tepede bir nesne ve ve ogrenciler diye bir alanı bulunmaktadır. Ogrenciler alanı bir dizi tutmaktadır. Dizi içinde üç nesne vardır. Bu üç nesne içinde ad ve no alanları vardır. no alanının değeri sayı olmasından dolayı " içine almaya gerek yoktur
Json'da bir alanın alabileceği değer tipleri aşağıdaki gibidir:
- String : "ad":"value" şeklinde kullanılır
- Number (sayı) : "ad" : value şeklinde kullanılır
- Boolean : "ad":true veya "ad":false şeklinde kullanılır
- Object (nesne) : "ad":{..} şeklinde kullanılır
- Array (dizi) : "ad":[...] şeklinde kullanılır
- null : "ad":null şeklinde kullanılır
Tüm tiplerin kullanıldığı bir örnek JSON :
{
"ogrenciler":[{"ad":"Ali", "no":717},{"ad":"Ahmet", "no":215}],
"ogretmen":{"ad":"Rıza", "sigara_iciyormu":false,"lakap":null}
}
JSON doğrudan Javascript içinde nesne tanımlamak kullanılabilir:
var v={"ad":"Ali", "no":717};
alert(v.ad + "-" + v.no);
şeklinde bir nesne yaratılabilir ve alert ile bilgilerinin gösterildiği test edilebilir.
Bir AJAX request'i veya bir web servis çağrısı sonucu dönen cevap JSON formatındaysa bu veri doğrudan Javascipt nesnesine döndürülebilir.
Veri saklamak, uygulamalar arasında veri transferi yapmak için XML ve JSON kullanılabilir. JSON ve XML arasında aşağıdaki farklar listelenebilir:
- XML'de ve ile elementler tanımlanır. JSON da ise element { .. } şeklindedir
- JSON çıkış noktası Javascript'tir. XML ile markup dillerinden çıkmıştır.
- JSON, Javascript'in doğrudan dilinin bir özelliğidir ve doğrudan desteklenmektedir
- JSON'un , XML'e göre daha kısa bir yazımı vardır ve daha kolay okunabilir ve yazılabilir
- JSON'da dizi desteği vardır. XML'de dizi diye ayrı bir kavram yoktur