Bilmek istediğin her şeye ulaş

JSON nedir ve ne işe yarar?

JSON (JavaScript Object Notation) hafif bir veri değişim formatıdı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.
İki yapı üzerine kuruludur:
  • İsim/değer ç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. 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.Javascript

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.

Javascript

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.
Javascript

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.Javascript

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

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.
  • Paylaş
Geçen ay bir video hazırlayıp bu konuya değinmiştim.
  • Paylaş
En basitiyle (genelde) iki farklı programın(web, mobile, desktop farketmez) birbirleriyle bilgi alışverişinde kullanılır. Gönderilmek istenen bilgi (sayı, metin, dizi, nesne farketmez) aşağıdaki (JSON) biçimde texte çevirilir(encode) karşıdaki programın o metni okuması istenir. Karşıdaki programda o metni yine eski (sayı, metin, dizi, nesne vs.) biçimine çevirip(decode) bilgileri kullanır.

JSON
 [{"ID":"2","ad":"Orhan","soyad":"Tutum"}]


  • Paylaş
İlk başlarda bir uygulamadan diğerine data transfer edebilmek için sütunları hizalı veya noktalı virgüllü text dosyalarını (CSV gibi) kullanıyorduk. Bunları hâlâ kullanıyoruz ama bu şekilde hierarşik data kaydetmek mümkün değil. Hierarşik datayı kaydedebilmek için XML kullandık. Şimdi XML alternatifi olarak JSON çıktı. XML ve JSON, websiteleri arasında haberleşmek için de kullanılıyor. Mesela diyelim ki bilgisayarlara teknik destek veren bir şirketsiniz. Müşteriniz bakım yapılmasını istediği cihazları kendi uygulamasına kaydediyor. Sizin de bakıma alınacak cihazları oradan alıp kendi uygulamanıza taşımanız ve bakım tamamlanınca müşteriye haber vermeniz lazım. Müşteri ve siz iki farklı web yazılımı kullanıyor olacağınızdan aradaki haberleşmenin web services (JSON veya XML) ile yapılması lazım. Aynı uygulamayı kullanmak mümkün olduğu takdirde buna ihtiyaç kalmaz.
  • Paylaş
Sonraki Soru
HESAP OLUŞTUR

İstatistikler

1184 Görüntülenme8 Takipçi4 Yanıt