Nasıl Kullanılır
- JSON'unuzu soldaki giriş kutusuna yapıştırın (ya da denemek için "Örneği Yükle" seçeneğine tıklayın).
- 2 boşluklu veya 4 boşluklu girinti seçin.
- Görünümü güzelleştirmek için "Biçimlendir"e, tek satıra sıkıştırmak için "Küçült"e tıklayın.
- JSON geçerli değilse, sorunu bulmak için kutuların altındaki hata mesajını okuyun.
- Sonucu panoya kopyalamak için "Kopyala" düğmesine tıklayın.
Örnek
Giriş
{"name":"CodeKitHub","tools":["json","base64"],"free":true}Çıkış
{
"name": "CodeKitHub",
"tools": [
"json",
"base64"
],
"free": true
}Aynı veriler, 2 boşlukluk girintiyle biçimlendirilmiş hali. Minify ise tam tersini yapar: tüm boşlukları kaldırır.
Bu Araç Nedir?
Bir JSON biçimlendirici, işlenmemiş, sıkıştırılmış veya dağınık JSON metnini alır ve okunabilir hale getirmek için tutarlı girintiler ve satır sonları ekleyerek yeniden düzenler. JSON (JavaScript Object Notation), API’ler, yapılandırma dosyaları ve günlük sistemleri tarafından en yaygın olarak kullanılan veri biçimidir; ancak sunucular, bant genişliğinden tasarruf etmek amacıyla bunu genellikle okunamaz uzunlukta tek bir satır olarak gönderir.
Bu araç aynı zamanda bir JSON doğrulayıcısı olarak da işlev görür: girdinizi tarayıcıların kullandığı aynı katı kurallara göre inceler; dolayısıyla JSON’unuzda eksik bir virgül, tırnak işareti olmayan bir anahtar veya sonuna eklenmiş bir virgül varsa, sessiz bir hata yerine tam olarak hangi hatanın olduğunu belirten bir hata mesajı görürsünüz.
JSON, birbiriyle uyumlu iki standartla resmî olarak tanımlanmıştır: RFC 8259 ve ECMA-404 — ve bu belirtim, kasıtlı olarak JavaScript'in kendisinden daha katıdır; bu yüzden JS kodu olarak sorunsuz çalışan bir parça, buradaki katı JSON doğrulamasından yine de geçemeyebilir.
Pratik ipuçları
- Bir API'de hata ayıklama mı yapıyorsunuz? Önce ham yanıtı yapıştırın, sonra biçimlendirin — doğrulama aracı, herhangi bir sözdizimi hatasının tam satırını ve sütununu kesin olarak belirler; bu da tek satırlık bir yığını gözlerinizi kısarak incelemekten çok daha iyidir.
- Ekranda okuma için 2 boşlukluk girinti kullanın ve JSON’u bir URL’ye, ortam değişkenine veya sohbet mesajına yapıştırmadan önce küçültün — bu durumlarda boşluklar sadece bayt olarak yer kaplar.
- JSON5 tarzı yorumlar ve sondaki virgüller, elle yazılmış yapılandırma dosyalarının “görünüşte sorun yok” gibi görünmesine rağmen doğrulama sürecinde hata vermesinin en yaygın iki nedenidir: katı JSON kuralları bunların hiçbirine izin vermez.
- Çok büyük dosyalar söz konusu olduğunda (günlük dosyaları, veritabanı dökümleri), yalnızca ilgilendiğiniz bölümü biçimlendirin — böylece düzenleyiciniz hızlı kalır ve yapıyı takip etmek daha kolay olur.
Bunun gerçek iş akışlarında nasıl bir yeri var?
En sık karşılaştığımız akış şudur: Bir API, bir token veya webhook yükü içinde Base64 ile kodlanmış ya da minifiye edilmiş bir JSON döndürür. Önce Base64 kodunu çözün, ardından JSON'u biçimlendirin ve ortamlar arasında bir değişiklik olduğunda üçüncü olarak iki yanıtı karşılaştırın. Burada her adım için özel bir araç bulunur ve yükleriniz hiçbir aşamada tarayıcıdan dışarı çıkmaz.
Ön uç geliştiricileri, biçimlendirme kadar sık sık minify işlemini de kullanır: Büyük bir statik JSON dosyası mı dağıtıyorsunuz? Bu dosyayı minify etmek, gzip işlemi başlamadan önce genellikle %20–30 oranında yer tasarrufu sağlar.
Yaygın kullanım örnekleri
- Hata ayıklama sırasında yapısını anlamak için, okunamaz tek bir satır olarak döndürülen minifiye edilmiş bir API yanıtını okumak.
- Bir uygulama tarafından nedense doğru şekilde okunmayan bir yapılandırma dosyasını (package.json veya JSON tabanlı bir ayar dosyası gibi) doğrulama.
- Bir hata raporunda, kod incelemesinde veya belgelerde okunabilir ve biçimlendirilmiş bir JSON parçacığını paylaşmak.
- Bir JSON verisini, bir URL parametresine eklemeden veya boyut sınırlaması olan bir veritabanı sütununda depolamadan önce en küçük haline getirmek.
Sık karşılaşılan JSON hataları ve çözümleri
"Geçersiz JSON" uyarılarının büyük çoğunluğu aynı birkaç hataya dayanır. Aşağıdaki tablo, elle düzenlenen yapılandırma dosyalarında veya kopyala-yapıştır yapılan API çıktılarında en sık karşılaşılanları listeler.
| Hata | Örnek | Çözüm |
|---|---|---|
| Sondaki virgül | {"a": 1, "b": 2,} | Nesne veya dizideki son öğeden sonraki virgülü kaldırın. |
| Tek tırnak | {'a': 1} | JSON, anahtarlar ve metin değerleri için çift tırnak gerektirir. |
| Tırnaksız anahtar | {a: 1} | Her anahtarı çift tırnak içine alın: {"a": 1}. |
| Yorum satırı | { // not\n "a": 1 } | Katı JSON'da yorum sözdizimi yoktur — doğrulamadan önce // ve /* */ yorumlarını silin. |
| Eksik virgül | {"a": 1 "b": 2} | Her anahtar-değer çifti arasına virgül ekleyin. |
| NaN / undefined / Infinity | {"a": NaN} | Bunlar geçerli JavaScript'tir ama geçerli JSON değildir — bunun yerine null veya bir metin değeri kullanın. |
Neden Kullanmalısınız?
e-Devlet entegrasyonu yaptığınız bir kurumun API'si 500 hatasıyla birlikte tek satırlık bir JSON gövdesi döndürdü — buraya yapıştırıp hangi alanın boş geldiğini saniyeler içinde görün.
Postman koleksiyonunuzdaki bir response örneğini takım arkadaşınızla paylaşmadan önce okunabilir hale getirin; ham minified JSON'u Slack'e atmak kimseye bir şey anlatmaz.
Mobil uygulamanızın config.json dosyası derleme sırasında "Unexpected token" hatası veriyor — dosyayı yapıştırın, hatalı virgülün tam olarak hangi satırda olduğunu görün.
Büyük bir e-ticaret sitesinin ürün kataloğunu JSON olarak dışa aktardınız ve URL parametresine sığdırmanız gerekiyor — küçültme modu boşlukları temizleyip boyutu düşürür.
Müşteri verisi veya API anahtarı içeren bir JSON dosyasını incelemeniz gerekiyor ama şirket politikası verinin üçüncü parti sunuculara gitmesini yasaklıyor — her şey tarayıcıda kalır, hiçbir bayt dışarı çıkmaz.
Sıkça Sorulan Sorular
JSON verilerim bir sunucuya yükleniyor mu?
Hayır. Bu araç, JavaScript kullanılarak tamamen tarayıcınızda çalışır. JSON verileriniz cihazınızdan asla dışarı çıkmaz; bu da hassas veya şirket içi verilerle kullanımını güvenli hale getirir.
JSON'um neden geçersiz?
En yaygın nedenler şunlardır: eksik veya fazla virgül, çift tırnak işareti içermeyen anahtarlar, çift tırnak işareti yerine tek tırnak işareti kullanılması, son öğenin ardından gelen virgül ve yorumlar (JSON'da yorumlara izin verilmez). Giriş kutusunun altındaki hata mesajı, ayrıştırıcının ne tespit ettiğini gösterir.
"Format" ile "Minify" arasındaki fark nedir?
Biçimlendirme, JSON’u insan tarafından okunabilir hale getirmek için girintiler ve satır sonları ekler. Minify ise JSON’u olabildiğince küçük hale getirmek için tüm gereksiz boşlukları kaldırır — bu, JSON’u iletmeden veya gömmeden önce kullanışlıdır.
Boyut sınırı var mı?
Araç tarafından uygulanan kesin bir sınır yoktur. Tüm işlemler tarayıcınızda yerel olarak gerçekleştirildiğinden, çok büyük dosyalar (onlarca megabayt) cihazınıza bağlı olarak yavaş işlenebilir.
Bu, bozuk JSON'ları otomatik olarak düzeltebilir mi?
Hayır — bu araç, JSON'un tam olarak hangi noktada hatalı olduğunu size bildirir, böylece siz bunu düzeltebilirsiniz; ancak verilerinizi tahmin etmez veya değiştirmez. Bu kasıtlı bir tasarımdır: Verileri sessizce “düzeltmek”, gerçek hataları gizleyebilir.
JSON5 veya JSONC (yorumlar, sondaki virgüller) destekleniyor mu?
Hayır, bu kasıtlı bir tercih — araç, API'lerinizin ve JSON.parse()'ın gerçekte gerektirdiği katı RFC 8259 standardına göre doğrulama yapar. tsconfig.json veya VS Code ayarları gibi bir JSONC dosyasını biçimlendirmek istiyorsanız, önce yorumları kaldırmanız gerekir; aksi halde ayrıştırıcı bunları hata olarak işaretler.
Bu, tarayıcı konsolunda JSON.stringify çalıştırmaktan farklı mı?
JSON.stringify(JSON.parse(x), null, 2) aynı yeniden biçimlendirmeyi yapar, ama konsol açık olmasını gerektirir ve geçersiz girdide satır-sütun belirtmeyen genel bir hata fırlatır. Bu araç ise hatanın tam konumunu gösterir ve konsol açmadan telefonda bile kullanılabilir.
Tarayıcı uyumluluğu nasıl, çevrimdışı çalışır mı?
Evet. Sayfa bir kez yüklendikten sonra tüm ayrıştırma ve biçimlendirme mantığı yerel JavaScript ile çalışır; internet bağlantınızı kesip devam edebilirsiniz. Modern tüm tarayıcılarda (Chrome, Firefox, Safari, Edge) sorunsuz çalışır, eski Internet Explorer sürümleri desteklenmez.
Dosya boyutu için pratik bir sınır var mı, örneğin 10 MB'lık bir log dosyası açılır mı?
Açılır, ama hızı cihazınızın belleğine bağlıdır — birkaç megabaytlık dosyalarda gecikme hissetmezsiniz, onlarca megabaytlık dosyalarda tarayıcı sekmesi birkaç saniye donabilir. Çok büyük dosyalarda yalnızca ilgilendiğiniz kısmı kopyalayıp yapıştırmak daha pratiktir.