JSON Nedir, Ne İşe Yarar?

JSON, veriyi hem insanın okuyabileceği hem programların kolayca işleyebileceği bir şekilde saklamanın yaygın yolu; XML'e göre daha az yer kaplaması ve JavaScript'le doğal uyumu onu web'de standart haline getirdi.

Özet

JSON, veriyi hem insanın okuyabileceği hem programların kolayca işleyebileceği bir şekilde saklamanın yaygın yolu; XML'e göre daha az yer kaplaması ve JavaScript'le doğal uyumu onu web'de standart haline getirdi.

Adım adım

  1. Temel yapıyı öğren: süslü parantez nesneyi, köşeli parantez listeyi temsil eder, her değer bir anahtara bağlıdır.
  2. Basit bir örnek üzerinde dene, bir kişinin adı, yaşı ve hobilerini JSON olarak yazmayı dene.
  3. Bir doğrulama aracıyla yazdığın JSON'ın geçerli olup olmadığını kontrol et, eksik virgül veya tırnak en sık hata sebebidir.
  4. Gerçek bir API yanıtına bak, orada JSON'ın pratikte nasıl kullanıldığını gör.

JSON'da hangi veri türleri var?

JSON'ın kuralları azdır ve tamamı birkaç veri türüne dayanır. Bir değer şunlardan biri olabilir: çift tırnak içinde metin, sayı, true veya false, boş değeri gösteren null, süslü parantezli bir nesne ya da köşeli parantezli bir liste. Nesne ve listeler iç içe kullanılabildiği için bu küçük set, çok karmaşık verileri bile tarif etmeye yeter. Örneğin bir kişi şöyle yazılabilir: {"ad": "Ayşe", "yas": 29, "ogrenci": false, "hobiler": ["kitap", "yüzme"]}

JSON'la nerede karşılaşırsın?

  • Web ve mobil uygulamaların sunucuyla konuştuğu API yanıtlarında.
  • Proje ayar dosyalarında; örneğin JavaScript projelerindeki package.json.
  • Bir uygulamadan dışa aktardığın verilerde, örneğin bazı hizmetlerin "verilerimi indir" seçeneklerinde.
  • Veritabanlarında, esnek yapılı kayıtları saklamak için ayrılmış alanlarda.

Yeni başlayanların sık yaptığı hatalar

  • Sayıları tırnak içine almak. "29" bir metindir, 29 ise sayı; program ikisini farklı ele alır.
  • JSON'da tarih türü olduğunu sanmak. Tarihler genelde metin olarak, çoğunlukla 2026-10-08 gibi bir biçimde yazılır.
  • Anahtar adlarında boşluk ve Türkçe karakter kullanmak. Geçerlidir, ama bazı programlarda bu anahtarlara erişmek zahmetli olabilir; sade adlar tercih et.
  • Aynı nesnede bir anahtarı iki kez yazmak. Çoğu program hata vermeden birini yok sayar ve hangisinin kaldığı belirsizleşir.

JSON mı, CSV mi?

Her satırın aynı sütunlara sahip olduğu düz bir tablo için CSV daha sade ve elektronik tablolarda doğrudan açılabilir. Veride iç içe yapı varsa, örneğin her müşterinin birden fazla adresi ya da siparişi bulunuyorsa, JSON bunu tabloya zorlamadan taşıyabilir. Seçimi verinin şekli belirler. İki format arasında dönüştürme de mümkündür, ancak iç içe bir JSON'u CSV'ye çevirirken bazı alanların düzleştirilmesi ya da ayrı tablolara bölünmesi gerekir.

Örnek bir senaryo

Bir öğrenci, sınıf için basit bir kitap listesi uygulaması yazıyor. İlk denemede her kitabı tek bir metin satırı olarak saklıyor ve yazar adını ayırmakta zorlanıyor. Veriyi JSON'a geçirince her kitap başlık, yazar, yıl ve okundu bilgisi olan bir nesneye dönüşüyor; kitaplar da bir listenin içinde duruyor. Artık "okunmamış kitapları göster" gibi bir filtre yazmak, metni parçalamak yerine tek bir alana bakmak kadar kolay.