JSON (Zayıflatılmış XML alternatifi) - 1

JSON Mustafa Ahmet KARA

Merhaba arkadaşlar ben Mustafa Kara, yeni bir yazar olarak ilk yazı serimde JavaScript Object Notation konusundan sizlere bahsedeceğim. Giriş düzeyinde başlayacak yazımda ileri ve üst düzeyde kullanımını, faydaları ve götürüleri ile alternatifleri hakkında sizlere yazı serileri ile bilgi vermeye çalışacağım

JSON genelde XML’in zayıflatılmış alternatifi olarak gündeme gelir. Temelde XML gibi bir veri değişim formatıdır. İnsanların okuyup anlaması için kolay, programlama dillerinin de dönüştürme ve yorumlamaları için oldukça kolaydır. Temel olarak Javascript programlama dilinin Standart Ecma-262 3.Yayın - Aralık 1999 sürümünün alt kümesi üzerine kurulmuştur. Metin tabanlı veri değiştirme formatı olduğu için ve C türevi dillere benzeyen yazılımından dolayı, bu tür dillerde rahatlıkla işlenebilir.

JSON iki adet temel yapıda gündeme gelir:

  • İsim/değer çifti kolleksiyonu: Çoğu programlama dilinde “object, record, struct, dictionary,hash table, keyed list veya associative array” olarak da tanımlanır.
  • Sıralı değer listesi:Çoğu programlama dilinde “array, vector, list veya sequence” olarak yer alır.

Bu yapıları JSON daki ifadelerini ele alırsak aşağıdaki şekilde ifade edilirler:

Object
Bir nesne isim/değer çiftlerinin sırasız olarak birleşmesinden oluşur. Nesne tanımlaması { ile başlar } ile biter. Her bir isimden sonra : gelir ve isim/değer çiftleri , ile ayrılır. Örnek olarak aşağıdaki yapı bir nesne oluşturur.

{
“Adi”: “Mustafa”,
“Soyadi”: “Kara”
}

Array
Diziler, sıralı değer listesidir. Bir dizi [ ile başlar ve ] ile biter. Elemanları , ile ayrılır. Aşağıda bir ve iki boyutlu dizi tanımlanmasını görebilirsiniz.

[ “Pazartesi” , “Salı” , “Çarşamba” , “Perşembe” , “Cuma” , “Cumartesi” , “Pazar” ]
[
[ 1, 0, 0 ],
[ 0, 1, 0 ],
[ 0, 0, 1 ]
]

JSON içinde herhangi bir değer aşağıdakilerden biri olabilir:

  • içinde yazı (string)
  • sayı
  • true yada false
  • null
  • object veya array

Değerler kendi içinde nesneleri desteklediği için iç içe nesneleri de desteklemesi mümkündür. Örnek olarak sayfaının sağında bulunan ajax-tr son yorumlardan iki adedini JSON ile ifade edersek aşağıdaki yapı olacaktır.

[
{
“Başlık” : “30 Saniyede AJAX”,
“Yorum Sayısı”: 43,
“Yorumlayanlar”:[”ihtiyarus”,”Emin”,”Deniz”]
} ,
{
“Başlık”: “eyceks Kütüphanesi ve Örnek bir Uygulama”,
“Yorum Sayısı”: 39,
“Yorumlayanlar”:[”Mevlüt Güleç”, “sezai”, “Sinan Erdem”]
}
]

Sayfalar: 1 2

Toplamda 5016 kez okunmuş.
Şu an 1 kişi okuyor.
En fazla 5 kişi aynı anda okumuş.
Bugün 2 kez okunmuş.

Etiketler:

1 oy2 oy3 oy4 oy5 oy (8 oy, ortalama 4.75) Oylanıyor ... Oylanıyor ...

  1. Sağlamlığı Kanıtlanmış Tekniklerle Web 2.0 AJAX
  2. Same Origin Policy ( Aynı Kaynak Politikası)
  3. JSON ve XML

Trackback Yorumları takip et Baskı Önizleme

9 yorum var

  1. # Hamza Saglam | 29 Ağustos 2007, 02:39 Gravatar

    Mustafa, cok guzel bi konuya deginmissin, ellerine saglik.

    PHP ile calisicak arkadaslarin http://us3.php.net/json adresinden detaylara bakmasini tavsiye ederim. Eger array kullanmayi biliyosaniz, JSON kullanmaniz cok kolay olucaktir. Arrayinizi olusturduktan sonra json_encode() kullanarak array’in JSON esitini alabilirsiniz.

  2. # eburhan | 29 Ağustos 2007, 07:55 Gravatar

    Konuyu dolaştırmadan direkt olarak JSON’ı güzel bir şekilde anlatmışsın.
    Teşekkürler Mustafa ;)

    Bu arada “Hamza Bey”in söylediği php fonksiyonlarını kullanabilmek için enaz php’nin 5.2.0 sürümüyle çalışıyor olmak gerekiyor. Fakat jSON’ı encode/decode eden ve php’nin alt sürümlerinde de çalışan güzel sınıflar mevcut. Yeri geldiğinde bunlardan bahsederiz (:

  3. # AJAX-TR.COM » JSON ve PHP | 30 Ağustos 2007, 21:17 Gravatar

    […] Merhaba arkadaşlar, JSON serilerine devam ediyorum. JSON’un PHP, ASP, ActionScript, C++, C#, Java dillerinde kullanım örneklerini varolan kütüphanelerin farklılıklarından bahsedeceğim. Yazının başlığından anlayacağınız üzere kullanım örneklerinden ilk olarak PHP ile kullanımından bahsedeceğim. JSON bildiğiniz gibi bir veri değiştirme formatıdır. JSON hakkında daha ayrıntılı bilgi almak için tıklayabilirsiniz. PHP üzerinde isimlerini duymuş olduğum ve test edebildiğim 6 adet kütüphane var. Ve değerli yorumlarını eksik etmeyen Hamza ve Erhan arkadaşımızın bahis konusu ettiği gibi PHP 5.2.0 sürümünden itibaren PHP içinde standart fonksiyonlar olarak desteklenmekte. Standart olarak dil desteği olduğu için bu örneklerde o fonksiyonları inceleyecek ve 5.2.0 öncesi kullanıcılar için diğer kütüphaneleri kısaca tanıyacağız. […]

  4. # MaFiAMaX | 01 Eylül 2007, 13:54 Gravatar

    JSON bu aralar benim de haşır neşir olduğum bir konu. Blogger kullanıcılarının en büyük sorunlarından biri “Son Yorumlar” eklentisinin olmamasıdır. Bunu 2 yöntemle aşmak mümkün. Birincisi yorum XML kaynağını kullanmak. Ama Blogger sunucularından gelen bilgiler gecikmeli olduğundan bu yöntem yorumların geç gözükmesine neden oluyor. İşte burda 2. yöntem yani JSON devreye giriyor. JSON kullanımı hakkında 2 tane yazı yazmıştım. Eğer JSON’a merak duyanlar varsa o yazılardaki JavaScript dosyalarını incelemeleri yararlarına olur.

    İlgili yazılar:

    Blogger’a Son Yorumlar ve Yazılar Eklentisi [JSON]
    Blogunuzda Bulunan Yazıların Tamamını Bir Tabloda Gösterin [JSON]

  5. # özkan | 06 Eylül 2007, 16:52 Gravatar

    bu json hakkında detaylı bir makale hazırlayabilirmisiniz ne iş yapıyor tam anlamış değilim xml teknolojisinin yerine geçicek bir şeymi bu?

  6. # AJAX-TR.COM » JSON ve ActionScript | 21 Eylül 2007, 21:36 Gravatar

    […] Merhaba arkadaşlar JSON serilerinin bir devamı olan ActionScript içinde JSON kullanımından size bu yazımda bahsedeceğim. Bir şekilde Flash ile JSON kullanımını merak eden kişiler için hazırlamış olduğum bu yazımda hali hazırda JSON desteği sunan as3corelib kütüphanesini inceleyeceğiz. […]

  7. # eburhan.com » jQuery ve JSON işlemleri | 08 Mart 2008, 10:31 Gravatar

    […] JSON (Zayıflatılmış XML alternatifi) […]

  8. # deneme | 24 Mart 2008, 02:00 Gravatar

    güzel makale

  9. # volkan şentürk | 18 Nisan 2008, 09:13 Gravatar

    ellerine sağlık , çok güzel bir anlatım.çalışmlarında başarılar

Yorum yazın

sayfa sayacı