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?
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:
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.jsonvb.) 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.
{"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
Bu üç işlem birbirini tamamlar. Aşağıdaki tablo hangisinin ne zaman kullanılacağını özetler:
| İşlem | Ne yapar | Ne zaman kullanılır |
|---|---|---|
| Formatla | Girinti + satır sonu ekler | Okumak, incelemek, hata ayıklamak |
| Minify | Tüm boşlukları siler, tek satır yapar | Ağ boyutunu küçültmek, production'a göndermek |
| Doğrula | Geçerlilik ve kök tipi raporlar | API 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:01veya+5geçersizdir;NaNveInfinityde öyle. - İzin verilen değerler: nesne, dizi, string, sayı,
true,false,null.
{}) 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?
Aşağıdaki tablo en sık yapılan hataları, tetikleyen örneği ve çözümünü gösterir:
| Hata | Hatalı örnek | Doğ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?
| Adım | İşlem | Sonuç |
|---|---|---|
| 1 | JSON'u girdi kutusuna yapıştır | Metin işleme hazır |
| 2 | Girinti seç (2 / 4 boşluk veya Tab) | Çıktı stili belirlenir |
| 3 | Formatla'ya bas | Girintili, okunur JSON üretilir |
| 4 | Hata varsa satır/sütuna git, düzelt | Geçerli JSON elde edilir |
| 5 | Kopyala düğmesiyle panoya al | Koda 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?
Hangi girintiyi seçmeliyim: 2 boşluk mu, 4 mü?
JSON minify ne kadar yer kazandırır?
Yorum içeren JSON neden hata veriyor?
// 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?
İlgili rehberler
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.