🧰 BirAraçtaTüm Araçlar →
JSON Yayın: 13 Temmuz 2026 7 dk okuma

JSON Formatlama ve Doğrulama Nedir? Girinti, minify ve hata ayıklama rehberi

Bir API yanıtını açtınız ve ekrana tek satır, yüzlerce karakterlik anlaşılmaz bir metin geldi. JSON formatlama tam da bunu okunur hale getirir; doğrulama ise metnin gerçekten geçerli olup olmadığını söyler. Bu rehberde formatlama, minify ve doğrulamanın ne olduğunu, farklarını ve en sık görülen "Unexpected token" hatasının nasıl çözüleceğini örneklerle anlatıyoruz.

JSON formatlama nedir?

Kısa cevap JSON formatlama, tek satıra sıkıştırılmış bir JSON metnini; her iç içe düzey için tutarlı girinti (2 boşluk, 4 boşluk veya Tab) ve satır sonları ekleyerek insan tarafından okunabilir biçime getirme işlemidir. Verinin içeriğini değiştirmez, yalnızca boşluk düzenini yeniden yazar. Amaç okunabilirliği ve hata ayıklamayı kolaylaştırmaktır.

JSON (JavaScript Object Notation), verileri anahtar–değer çiftleri ve dizilerle taşıyan, dil bağımsız bir metin biçimidir. Bilgisayarlar için tek satırlık sıkıştırılmış JSON gayet uygundur; ama bir insan onu inceleyecekse girintili biçim şarttır. İşte aynı verinin iki hali:

// Formatsız (minify) {"ad":"Ada","aktif":true,"roller":["admin","editor"],"adres":{"il":"İstanbul"}} // Formatlı (2 boşluk girinti) { "ad": "Ada", "aktif": true, "roller": [ "admin", "editor" ], "adres": { "il": "İstanbul" } }

Her iki metin de aynı veriyi taşır; fark yalnızca boşluk ve satır sonlarındadır. Yukarıdaki dönüşümü DevAraç JSON aracıyla tek tıkla yapabilirsiniz — işlem tamamen tarayıcınızda çalışır, JSON'unuz hiçbir sunucuya gitmez.

Neden formatlamaya ihtiyaç duyarız?

Formatlama sadece estetik değildir; günlük geliştirme akışında birkaç somut sorun çözer:

  • Hata ayıklama: Girintili yapıda hangi alanın hangi nesnenin içinde olduğunu gözle takip edebilirsiniz. Eksik bir alan veya yanlış yuvalanma anında göze çarpar.
  • Karşılaştırma (diff): Satır satır bir yapıda iki JSON'u karşılaştırmak, tek satır dev metinleri karşılaştırmaktan çok daha kolaydır.
  • Kod incelemesi: Yapılandırma dosyalarının (package.json, tsconfig.json vb.) düzenli girintili olması ekip içi okunabilirliği artırır.
  • Öğrenme: Bir API'nin döndürdüğü veriyi ilk kez inceliyorsanız, formatlı çıktı yapının haritasını çıkarır.
Önemli ayrım Formatlama verinin anlamını değiştirmez. {"a":1} ile satırlara yayılmış hali bilgisayar için birebir aynıdır. Bu yüzden formatlı JSON'u güvenle koda yapıştırabilir, minify edilmiş halini de production'a gönderebilirsiniz.

Formatla, minify, doğrula: aynı araçta üç işlem

Kısa cevap Doğrula metnin geçerli olup olmadığını söyler; Formatla geçerli JSON'u okunur biçimde girintiler; Minify ise tüm boşlukları silip tek satıra indirir. Formatla ve Minify işlemleri, çalışmadan önce metni içeride zaten doğrular — geçersizse hatanın yerini bildirir.

Bu üç işlem birbirini tamamlar. Aşağıdaki tablo hangisinin ne zaman kullanılacağını özetler:

JSON aracının üç işlevi ve kullanım amacı
İşlemNe yaparNe zaman kullanılır
FormatlaGirinti + satır sonu eklerOkumak, incelemek, hata ayıklamak
MinifyTüm boşlukları siler, tek satır yaparAğ boyutunu küçültmek, production'a göndermek
DoğrulaGeçerlilik ve kök tipi raporlarAPI yanıtı / config dosyası kontrolü

DevAraç JSON aracı üç işlevi de aynı sekmede sunar; Doğrula ayrıca kökün nesne mi dizi mi olduğunu ve eleman sayısını gösterir.

Geçerli JSON'un kuralları nelerdir?

Bir metnin formatlanabilmesi için önce geçerli olması gerekir. JSON standardı (ECMA-404 / RFC 8259) katıdır ve JavaScript nesne söz diziminden birkaç önemli noktada ayrılır:

  • Anahtarlar çift tırnak içinde olmalı: {"ad":"Ada"} geçerli, {ad:"Ada"} geçersiz.
  • Yalnızca çift tırnak: Tek tırnak (') kabul edilmez.
  • Trailing comma yok: Son elemandan sonra virgül bırakılamaz: [1,2,] hatalıdır.
  • Yorum yok: JSON // veya /* */ yorumlarını desteklemez.
  • Sayılarda öndeki sıfır ve + yasak: 01 veya +5 geçersizdir; NaN ve Infinity de öyle.
  • İzin verilen değerler: nesne, dizi, string, sayı, true, false, null.
Kök (root) nedir? Her JSON belgesinin tek bir kök değeri vardır — genelde bir nesne ({}) veya dizi ([]). Doğrulama sonucu "kök: nesne, 3 anahtar" gibi bir bilgi veriyorsa, metnin en dış katmanının ne olduğunu öğrenmiş olursunuz. Bu, beklediğiniz yapıyı (ör. dizi mi bekliyordunuz?) hızlıca teyit etmenin pratik yoludur.

"Unexpected token" hatası nasıl bulunur ve düzeltilir?

Kısa cevap "Unexpected token", ayrıştırıcının o konumda beklemediği bir karakterle karşılaştığı anlamına gelir. En sık nedenler: tek tırnak, trailing comma, tırnaksız anahtar ve yorum satırı. DevAraç aracı hatanın yaklaşık satır ve sütununu gösterir; o konuma gidip düzeltmeniz yeterlidir.

Aşağıdaki tablo en sık yapılan hataları, tetikleyen örneği ve çözümünü gösterir:

Sık JSON hataları ve çözümleri
HataHatalı örnekDoğrusu
Tek tırnak{'ad':'Ada'}{"ad":"Ada"}
Tırnaksız anahtar{ad:"Ada"}{"ad":"Ada"}
Trailing comma[1,2,3,][1,2,3]
Eksik virgül{"a":1 "b":2}{"a":1,"b":2}
Yorum satırı{"a":1} // not{"a":1}

DevAraç aracının verdiği "satır X, sütun Y" bilgisi, tarayıcının JSON.parse hatasından türetilir. Hata mesajı bazen sorunun bir sonraki karakteri işaret eder; o yüzden belirtilen konumun hemen öncesine de bakın. Genelde eksik bir virgül veya kapanmayan bir tırnak, hatanın birkaç karakter sonra "patlamasına" yol açar.

JSON'unuzu şimdi formatlayın

Yapıştırın, girintiyi seçin, Formatla'ya basın. Geçersizse hatalı satır ve sütun anında gösterilir. Tamamen tarayıcıda, kurulumsuz.

JSON Aracını Aç →

Adım adım: JSON nasıl formatlanır?

DevAraç ile JSON formatlama adımları
AdımİşlemSonuç
1JSON'u girdi kutusuna yapıştırMetin işleme hazır
2Girinti seç (2 / 4 boşluk veya Tab)Çıktı stili belirlenir
3Formatla'ya basGirintili, okunur JSON üretilir
4Hata varsa satır/sütuna git, düzeltGeçerli JSON elde edilir
5Kopyala düğmesiyle panoya alKoda yapıştırmaya hazır

Aynı sekmedeki Minify ile bu kez ters yöne gidip çıktıyı tek satıra indirebilir, Doğrula ile de yalnızca geçerlilik raporu alabilirsiniz. JSON'unuzu formatladıktan sonra bir alanı Base64'e gömmeniz gerekirse Base64 rehberimize göz atın; kimlik doğrulama token'larını incelemek içinse JWT çözme aracı işinizi görür.

Sık sorulan sorular

JSON formatlama veriyi değiştirir mi?
Hayır. Formatlama yalnızca boşluk ve satır sonlarını yeniden düzenler; anahtarlar, değerler ve sıralama aynı kalır. Formatlı ve minify edilmiş JSON bilgisayar için birebir aynı veridir.
Hangi girintiyi seçmeliyim: 2 boşluk mu, 4 mü?
İkisi de geçerlidir; tercih projeye bağlıdır. Web ekosisteminde (JavaScript, npm) 2 boşluk yaygındır. Tab girinti, dosya boyutunu bir miktar küçültür ve kullanıcı editör ayarına göre genişliği belirleyebilir. DevAraç üçünü de sunar.
JSON minify ne kadar yer kazandırır?
Girinti ve satır sonları silindiği için tipik yapılandırma dosyalarında %15–%50 arası boyut düşüşü görülür. Kazanç, verinin ne kadar iç içe olduğuna bağlıdır; derin yuvalanmış JSON'larda daha fazladır.
Yorum içeren JSON neden hata veriyor?
JSON standardı yorum desteklemez. // veya /* */ içeren dosyalar aslında JSONC veya JSON5 gibi uzantılardır. Standart JSON aracıyla formatlamadan önce yorumları kaldırmanız gerekir.
Formatlarken JSON'um sunucuya gönderiliyor mu?
Hayır. DevAraç JSON aracı tamamen tarayıcınızda, yerleşik JSON.parse/stringify ile çalışır. Yapıştırdığınız veri hiçbir sunucuya gönderilmez; internet kesilse bile araç çalışır. Bu yüzden hassas config dosyalarını da güvenle formatlayabilirsiniz.

İlgili rehberler

Metodoloji & kaynaklar. Bu yazıdaki tüm örnekler, DevAraç'ın istemci tarafında çalışan JSON aracıyla birebir üretilebilir: ayrıştırma ve biçimlendirme için tarayıcıya yerleşik JSON.parse ve JSON.stringify kullanılır; harici kütüphane veya sunucu isteği yoktur. Kaynaklar: ECMA-404 (The JSON Data Interchange Syntax) · RFC 8259 (JSON). Son güncelleme: 13 Temmuz 2026. İçerik bilgilendirme amaçlıdır; kritik işlerde sonuçları kendi ortamınızda da doğrulayın.