alastyr json blog

JSON Nedir? Ne İşe Yarar ve Nasıl Kullanılır?

Kısaca

JSON (JavaScript Object Notation), veriyi hem insanların okuyabileceği hem de makinelerin hızlıca işleyebileceği biçimde saklayan, dilden bağımsız bir veri değişim formatıdır. API’ler, yapılandırma dosyaları ve web uygulamalarının çoğu bugün veriyi JSON ile taşır.

  • JSON bir programlama dili değil, anahtar-değer çiftlerine dayanan bir veri formatıdır; kökeni JavaScript olsa da her dilde kullanılır.
  • XML’e göre daha kısa, daha hızlı işlenir ve okuması daha kolaydır; bu yüzden modern API’lerin fiili standardı hâline gelmiştir.
  • Yalnızca 6 veri tipi (metin, sayı, boolean, null, dizi, nesne) ve katı sözdizimi kuralları vardır; küçük bir virgül hatası tüm veriyi geçersiz kılabilir.

Bir API ile uğraştıysanız, bir yapılandırma dosyası düzenlediyseniz ya da modern bir web uygulamasının arka planına baktıysanız büyük ihtimalle JSON ile karşılaşmışsınızdır. Geliştiriciler için günlük hayatın sıradan bir parçası olan bu formatın ne olduğunu, neden bu kadar yaygın olduğunu ve nasıl doğru kullanıldığını sade ama eksiksiz bir dille anlatalım.

JSON Nedir?

JSON, JavaScript Object Notation kelimelerinin kısaltmasıdır. Adından da anlaşılacağı gibi kökeni JavaScript’e dayanır, ancak bugün neredeyse tüm programlama dillerinden bağımsız olarak kullanılan bir veri değişim formatıdır. Temel amacı, veriyi hem insanların kolayca okuyabileceği hem de makinelerin hızlıca işleyebileceği bir biçimde saklamak ve taşımaktır.

Adında “JavaScript” geçmesi sizi yanıltmasın; JSON bir programlama dili değildir. Sadece veriyi belirli kurallarla yazmanın bir yöntemidir; tıpkı bir defterdeki düzenli bir listeyi herkesin aynı şekilde anlayabilmesi gibi. Format ilk olarak 2000’li yılların başında Douglas Crockford tarafından belgelenmiş, 2013 ve 2017 yıllarında ECMA-404 ve RFC 8259 standartlarıyla resmî olarak tanımlanmıştır. Bu standartlaşma, JSON’un dünyanın her yerinde tam olarak aynı biçimde yorumlanmasını garanti eder.

JSON Söz Dizimi Nasıldır?

JSON, “anahtar: değer” çiftlerinden oluşur. Birkaç basit kuralı vardır: veriler süslü parantez içinde tutulur, anahtarlar çift tırnak içinde yazılır ve her çift virgülle ayrılır. Basit bir örnek:

Mail hosting 1 ay ücretsiz

{ "ad": "Ayşe", "yas": 29, "aktif": true, "diller": ["Türkçe", "İngilizce"] }

Bu örnekte bir kişinin adını, yaşını, aktif olup olmadığını ve bildiği dilleri görüyorsunuz. Değerler; metin, sayı, doğru/yanlış (boolean), liste (dizi) veya başka bir JSON nesnesi olabilir. Bu esneklik, JSON’u karmaşık verileri bile düzenli şekilde temsil etmekte güçlü kılar. İç içe geçmiş bir örnek şöyle görünür:

{ "kullanici": { "ad": "Ayşe", "adres": { "sehir": "İzmir", "posta": "35000" } }, "roller": ["editor", "admin"] }

JSON’da Kullanılabilen Veri Tipleri

JSON standardı yalnızca altı veri tipini destekler. Bunları bilmek, format hatalarının çoğunun önüne geçer:

Tip Örnek Açıklama
String (metin) "Alastyr" Her zaman çift tırnak içinde yazılır.
Number (sayı) 29 / 3.14 Tam sayı veya ondalık; tırnaksız yazılır.
Boolean true / false Küçük harfle, tırnaksız.
null null Değerin boş/tanımsız olduğunu belirtir.
Array (dizi) [1, 2, 3] Köşeli parantez içinde sıralı liste.
Object (nesne) { "x": 1 } Süslü parantez içinde anahtar-değer çiftleri.

Dikkat edilmesi gereken önemli bir nokta: JSON’da tarih için özel bir tip yoktur. Tarihler genellikle ISO 8601 biçiminde bir metin olarak (örneğin "2026-07-01T10:00:00Z") saklanır. Aynı şekilde JSON’da yorum satırı (comment) yazılamaz; bu, standardın bilinçli bir tercihidir.

JSON Nerelerde Kullanılır?

  • API’ler: İki uygulama birbiriyle veri alışverişi yaparken veri çoğunlukla JSON biçiminde gidip gelir. Örneğin bir hava durumu uygulaması, sunucudan sıcaklık bilgisini JSON olarak alır. Modern REST ve GraphQL API’lerinin fiili standardı JSON’dur.
  • Yapılandırma dosyaları: Birçok program ve araç ayarlarını JSON dosyalarında tutar. Node.js projelerindeki package.json, editör ayarları veya bulut altyapı tanımları bunun tipik örnekleridir.
  • Web ve mobil uygulamalar: Tarayıcı ile sunucu arasındaki veri akışında standart hâline gelmiştir. JavaScript’te JSON.parse() ve JSON.stringify() fonksiyonlarıyla veri anında dönüştürülür.
  • Veritabanları: MongoDB gibi belge tabanlı veritabanları veriyi doğrudan JSON’a çok benzeyen bir yapıda (BSON) saklar. PostgreSQL ve MySQL gibi ilişkisel veritabanları da artık yerel JSON alan tiplerini destekler.
  • SEO ve yapılandırılmış veri: Arama motorlarına sayfanızın içeriğini anlatan schema işaretlemeleri de çoğunlukla JSON-LD biçiminde yazılır. Google’ın önerdiği yöntem budur.
  • Loglama ve gözlemleme: Sunucu logları giderek daha çok “yapılandırılmış log” olarak, yani her satırı bir JSON nesnesi biçiminde tutulur; bu da logların araçlarla filtrelenmesini kolaylaştırır.

JSON ile XML Arasındaki Fark

JSON’dan önce veri taşımak için sıklıkla XML kullanılırdı. XML hâlâ kullanılıyor olsa da JSON birçok yerde onun yerini aldı. Sebebi basit: JSON daha kısa, daha az “gürültülü” ve okuması daha kolaydır. XML’de her veriyi açılan ve kapanan etiketlerle sarmalamak gerekirken, JSON aynı veriyi çok daha az karakterle ifade eder. Bu da hem dosya boyutunu küçültür hem de işlenmesini hızlandırır. Aşağıdaki tablo iki formatı özetler:

Özellik JSON XML
Sözdizimi Anahtar-değer, süslü parantez Açılan/kapanan etiketler
Boyut Daha küçük ve kompakt Etiket tekrarı yüzünden daha büyük
Okunabilirlik Yüksek Orta (daha kalabalık)
Veri tipleri Sayı, boolean, null yerleşik Her şey varsayılan olarak metin
Ayrıştırma (parse) hızı Genellikle daha hızlı Genellikle daha yavaş
Yorum satırı Desteklenmez Desteklenir
Tipik kullanım Modern web/mobil API Kurumsal sistemler, SOAP, belgeler

JSON ile YAML Arasındaki Fark

Yapılandırma dosyalarında JSON’un bir alternatifi de YAML’dır. YAML, girinti (indentation) tabanlı okunması çok kolay bir formattır ve süslü parantez, virgül gibi işaretlere ihtiyaç duymaz. Bu yüzden Docker Compose ve Kubernetes gibi araçlarda yaygındır. Buna karşılık YAML’da girintiyi yanlış koymak sinsi hatalara yol açabilir. Pratik bir kural: makineler arası veri akışında JSON, insanın elle düzenlediği yapılandırma dosyalarında ise sıklıkla YAML tercih edilir. Ancak ilginç bir gerçek şudur: her geçerli JSON aynı zamanda geçerli bir YAML’dır.

JSON Nasıl Doğrulanır ve Biçimlendirilir?

JSON katı kurallara sahiptir. En sık yapılan hatalar; son elemandan sonra fazladan virgül bırakmak (trailing comma), anahtarları çift tırnak yerine tek tırnakla yazmak, bir tırnağı kapatmayı unutmak veya true/false yerine True/False yazmaktır. Bu küçük hatalar tüm verinin geçersiz sayılmasına yol açar. Uygulanabilecek pratik adımlar:

  • Doğrulayıcı (validator) kullanın: Bir JSON yazdığınızda çevrimiçi bir doğrulayıcıdan ya da jq gibi bir komut satırı aracından geçirmek iyi bir alışkanlıktır.
  • Biçimlendirin (pretty-print): Uzun ve tek satır hâline gelmiş JSON’u girintili biçime çevirmek okunabilirliği artırır. Örneğin terminalde cat dosya.json | jq . komutu bunu yapar.
  • Kod içinde güvenli ayrıştırın: Dışarıdan gelen JSON’u ayrıştırırken hata yakalama (try/catch) kullanın; bozuk veri uygulamanızı çökertmemelidir.
  • UTF-8 kodlaması kullanın: JSON standardı UTF-8 varsayar; Türkçe karakterlerin (ş, ğ, ı, İ) sorunsuz görünmesi için dosyanızın UTF-8 kaydedildiğinden emin olun.

Web Sitenizde JSON-LD ile Yapılandırılmış Veri

JSON’un web sitesi sahiplerini doğrudan ilgilendiren en pratik kullanımı JSON-LD‘dir. JSON-LD, sayfanızın ne hakkında olduğunu arama motorlarına makine diliyle anlatan bir yöntemdir. Örneğin bir ürün sayfasında fiyatı, bir makalede yazarı ve yayın tarihini, bir işletme sayfasında adres ve puanı JSON-LD ile işaretlersiniz. Google bu veriyi okuyarak arama sonuçlarında zengin sonuçlar (rich results) gösterebilir; yıldızlı puanlar, SSS açılır kutuları veya fiyat bilgisi bunların örnekleridir.

Basit bir makale şeması şöyle görünür:

<script type="application/ld+json">{ "@context": "https://schema.org", "@type": "Article", "headline": "JSON Nedir?", "author": { "@type": "Organization", "name": "Alastyr" } }</script>

Bu kod parçasını sayfanın <head> bölümüne eklemek yeterlidir; ziyaretçi bunu görmez, arama motoru okur. Sitenizin performansı da bu noktada önemlidir: hızlı yüklenen sayfalar hem kullanıcı deneyimini hem de arama görünürlüğünü iyileştirir. LiteSpeed ve LSCache gibi teknolojilerle donatılmış bir WordPress hosting altyapısı, bu tür yapılandırılmış veriyi taşıyan sayfaların hızlı sunulmasını kolaylaştırır.

JSON ile Çalışırken Küçük Ama Önemli İpuçları

  • Anahtar isimlerinde tutarlı olun: Tüm projede ya camelCase ya snake_case seçin; karışık kullanım hatalara davetiye çıkarır.
  • Büyük sayılara dikkat: Çok büyük tam sayılar (örneğin 16 haneden uzun kimlik numaraları) JavaScript’te hassasiyet kaybına uğrayabilir; bunları metin olarak saklamak daha güvenlidir.
  • Gizli veriyi JSON’a gömmeyin: Parola veya API anahtarı gibi hassas bilgileri istemciye giden JSON’a eklemeyin.
  • Şema doğrulaması: Büyük projelerde JSON Schema kullanarak gelen verinin beklenen yapıda olup olmadığını otomatik denetleyebilirsiniz.

Özetle

JSON, modern internetin görünmeyen ama her yerde olan dilidir. Mobil uygulamanızdaki bir bildirimden, ziyaret ettiğiniz sitenin arama motoruna kendini tanıtma biçimine kadar pek çok yerde sessizce çalışır. Yalnızca altı veri tipi ve birkaç net kuralla, karmaşık verileri hem insanların hem makinelerin anlayacağı şekilde taşır. Web projeleriniz büyüdükçe JSON’la daha sık karşılaşacaksınız; temel mantığını ve tuzaklarını bilmek işinizi hayli kolaylaştırır. Projelerinizi sağlam, hızlı ve JSON tabanlı API’leri gönül rahatlığıyla çalıştırabileceğiniz bir altyapıda barındırmak da bu yolculuğun önemli bir parçasıdır.

Projeniz için hızlı ve güvenilir bir altyapı mı arıyorsunuz?

JSON tabanlı API’lerinizi, web ve mobil uygulamalarınızı LiteSpeed hızıyla, günlük yedekleme ve 7/24 destekle çalıştırın. Alastyr’ın İzmir’deki kendine ait veri merkezinde barındırma keyfini yaşayın.

Hosting Paketlerini İncele

Sıkça Sorulan Sorular

JSON bir programlama dili mi?

Hayır. JSON bir programlama dili değil, veriyi düzenli biçimde saklamak ve taşımak için kullanılan bir veri formatıdır. Kökeni JavaScript olsa da bugün Python, PHP, Java, C# gibi neredeyse tüm dillerde okunup yazılabilir.

JSON dosyaları hangi uzantıyı kullanır?

JSON dosyaları .json uzantısıyla kaydedilir ve düz metin olduğu için herhangi bir metin düzenleyiciyle açılabilir. İçeriğin UTF-8 kodlamasıyla kaydedilmesi, Türkçe karakterlerin doğru görünmesi için önemlidir.

JSON’da hangi veri tipleri kullanılabilir?

JSON altı temel tipi destekler: metin (string), sayı (number), doğru/yanlış (boolean), null, dizi (array) ve nesne (object). Tarih için ayrı bir tip yoktur; tarihler genellikle ISO 8601 biçiminde bir metin olarak saklanır.

JSON ile XML arasındaki fark nedir?

JSON daha kısa, daha kompakt ve okunması daha kolaydır; sayı ve boolean gibi tipleri yerleşik olarak taşır. XML ise açılan/kapanan etiketler kullanır, daha kalabalıktır ve yorum satırını destekler. Modern web ve mobil API’lerde çoğunlukla JSON tercih edilir.

JSON’da yorum satırı yazılabilir mi?

Hayır. JSON standardı yorum satırlarını (comment) desteklemez; bu bilinçli bir tercihtir. Yorum eklemek isterseniz veriye açıklama amaçlı ayrı bir anahtar ekleyebilir ya da yorumları destekleyen JSON5 gibi bir üst kümeyi kullanabilirsiniz.

JSON dosyamdaki hatayı nasıl bulurum?

Çevrimiçi bir JSON doğrulayıcı (validator) veya komut satırında jq gibi bir araç kullanarak hatanın hangi satırda olduğunu görebilirsiniz. En sık nedenler; fazladan virgül, kapatılmamış tırnak, tek tırnak kullanımı ve büyük harfle yazılmış True/False değerleridir.

JSON-LD nedir?

JSON-LD, web sayfalarındaki yapılandırılmış veriyi (schema) arama motorlarına iletmek için kullanılan, JSON tabanlı bir biçimdir. Google bu veriyi okuyarak yıldızlı puan, SSS kutusu veya fiyat gibi zengin sonuçları arama sayfasında gösterebilir.

JSON ile YAML arasında nasıl seçim yaparım?

Makineler arasındaki veri akışında (API’ler) JSON, insanın elle düzenlediği yapılandırma dosyalarında ise sıklıkla YAML tercih edilir. YAML girinti tabanlı olduğu için okunması kolaydır ama girinti hatalarına açıktır. Her geçerli JSON aynı zamanda geçerli bir YAML olarak da işlenebilir.

Web sitem için JSON bilmek zorunda mıyım?

Site sahibi olarak JSON’un derinliklerine hâkim olmanız gerekmez, ancak temel mantığını bilmek işinizi kolaylaştırır. Özellikle SEO için JSON-LD schema eklemek, tema ve eklenti ayarlarını düzenlemek ya da bir API entegrasyonunu anlamak istediğinizde bu bilgi çok işe yarar.

Yazı oluşturuldu 2

Benzer yazılar

Aramak istediğinizi üstte yazmaya başlayın ve aramak için enter tuşuna basın. İptal için ESC tuşuna basın.

Üste dön