JSON Nedir? Veri Değişimi İçin Başlangıç Rehberi
JavaScript Object Notation kelimelerinin kısaltması olan JSON, verilerin internet üzerinden nasıl seyahat ettiğini kökten değiştirdi. JSON web dünyasını ele geçirmeden önce, baskın format XML (Genişletilebilir İşaretleme Dili) idi. XML güçlü olmasına rağmen, çok ayrıntılı, ağır ve insanların hızlıca okuması için zordu.
JSON, insanların okuyup yazması kolay, makinelerin ise ayrıştırıp üretmesi şaşırtıcı derecede basit olan hafif bir alternatif olarak ortaya çıktı. Modern web uygulamaları için standart haline geldi ve ön uç (front-end) arayüzleri ile arka uç (back-end) sunucuları arasında bir köprü görevi görmeye başladı.
Özünde JSON, tamamen dilden bağımsız bir metin formatıdır. JavaScript betik dilinden türetilmiş olsa da, JSON verisi üretmek ve ayrıştırmak için gereken kodlar Python, Ruby, C#, Java ve PHP dahil olmak üzere neredeyse tüm modern programlama dillerinde mevcuttur. Bu evrensellik, onu veri değişimi için ideal aday yapar.
Bir yemek siparişi uygulamasından sipariş verdiğinizi hayal edin. Telefonunuzun sunucuya ne istediğinizi söylemesi gerekir (örneğin, "1 Pizza, Soğansız"). Sunucu bunu işler ve bir onay geri gönderir. Bu konuşma için kullanılan dil JSON'dur. Veriyi, hem telefonunuzun (istemci) hem de restoranın sisteminin (sunucu) anında anlayabileceği yapılandırılmış bir formatta paketler.
JSON'un Yapısı
JSON, neredeyse tüm programcıların aşina olduğu iki evrensel veri yapısı üzerine kuruludur:
- İsim/değer çiftleri koleksiyonu: Çeşitli dillerde bu; nesne (object), kayıt (record), yapı (struct), sözlük (dictionary), hash tablosu veya ilişkisel dizi olarak gerçekleştirilir.
- Sıralı değerler listesi: Çoğu dilde bu; dizi (array), vektör, liste veya sekans olarak gerçekleştirilir.
JSON Neden XML'e Karşı Kazandı?
XML'den JSON'a geçiş tesadüf değildi. JSON daha az ayrıntılıdır, bu da dosyaların daha küçük olduğu ve ağlar üzerinden daha hızlı aktarıldığı anlamına gelir; bant genişliğinin sınırlı olabileceği ve gecikmenin önemli olduğu mobil internet için kritik bir faktör.
Bitiş etiketleri (örneğin </isim> gibi) kullanmaz, bu da karakter sayısını önemli ölçüde azaltır. En önemlisi, JSON koddaki veri nesnelerine doğrudan eşlenir. Bir DOM ağacında gezinmek için karmaşık bir ayrıştırıcıya (parser) ihtiyacınız yoktur; sadece JSON'u yüklersiniz ve o anında değişkeninizde kullanılabilir bir nesne haline gelir.
Bugün JSON her yerde. RESTful API'leri, yapılandırma dosyalarını (package.json veya VS Code ayarları gibi), MongoDB gibi NoSQL veritabanlarını ve hatta log dosyalarını güçlendiriyor. Geliştiriciler için JSON'u anlamak artık isteğe bağlı değil; modern web için temel bir okuryazarlık gereksinimidir.