JSON Formatter
Online JSON doğrulama, güzelleştirme (pretty print) ve sıkıştırma (minify) aracı.
1.438 görüntülenme
Nasıl Çalışır
JSON (JavaScript Object Notation), sadece "JavaScript'e benzeyen veri" değildir — RFC 8259 standardıyla tanımlanmış, kendi başına katı bir biçimdir. Söz dizimi bir JavaScript nesne ifadesine benzese de kuralları çok daha katıdır: her anahtar ve her metin değeri çift tırnak içinde olmalıdır ("anahtar"), tek tırnak asla geçerli değildir; bir nesne veya dizinin son elemanından sonra virgül — yani trailing comma — sözdizimi hatasıdır; undefined, fonksiyon değeri veya yorum satırı gibi salt JavaScript'e özgü kavramların JSON'da hiçbir karşılığı yoktur. Bu araç, girdiğiniz veriyi tarayıcının kendi JSON.parse() motorundan geçirir — yani gördüğünüz hata, gerçek bir API istemcisinin veya yapılandırma yükleyicisinin de vereceği hatadır.
Örneğin {'id': 12, 'aktif': true,} iki noktada geçersizdir: id etrafındaki tek tırnaklar geçersizdir, true'dan sonraki virgül de geçersizdir (trailing comma). Doğru biçim {"id": 12, "aktif": true}'dur. JSON'unuz doğrulandıktan sonra Güzelleştir, iç içe geçmiş her seviyeyi girintiler — diziler içindeki nesneler içindeki diziler gözle takip edilebilir hale gelir; bu, altı seviye derinlikte kayıp bir parantez ararken kritik önem taşır. Sıkıştır ise tam tersini yapar: gereksiz her boşluğu kaldırıp veriyi tek satıra indirir, depolama ve ağ üzerinden taşıma için boyutu küçültür. Her iki modda da veri birebir aynı kalır, yalnızca insan gözüne yönelik düzen değişir.
Bu tür bir araç günlük geliştirme işinde işe yarar: kod yazmadan önce ham bir API yanıtının gerçek şeklini görmek için yapıştırmak, bir dağıtımı bozmadan önce yapılandırma dosyasındaki sapkın bir virgülü fark etmek, ya da tarayıcı DevTools ağ sekmesinden kopyalanan — genellikle dev bir tek satırdan ibaret — okunmaz bir yükü gözle taranabilir bir şeye dönüştürmek gibi. Bir mobil uygulamanın backend'inden dönen yanıtı incelerken, bir package.json veya tsconfig.json dosyasını elle düzenlerken ya da bir üçüncü taraf API'nin dokümantasyonunda verilen örnek yükü doğrularken de aynı şekilde devreye girer.
Bilinmesi Gerekenler
- Her şey yerel olarak çalışır. Hiçbir metin sunucuya yüklenmez; doğrulama, güzelleştirme ve sıkıştırma tamamen tarayıcınızın JavaScript motorunda gerçekleşir.
- Büyük tam sayılar hassasiyet kaybedebilir. JSON sayıları IEEE 754 çift hassasiyetli kayan noktaya dayanır; 2^53'ü aşan 64-bit ID'ler, string yerine native sayı olarak ayrıştırılırsa sessizce yuvarlanabilir.
- Anahtar sırası spesifikasyon tarafından garanti edilmez, pratikte çoğu ayrıştırıcı ekleme sırasını korusa da buna bağımlı mantık yazmayın.
- Kök seviyedeki değer bir nesne olmak zorunda değildir. Güncel JSON (RFC 8259'a göre) kökte çıplak bir metin, sayı, boole,
nullveya dizi olmasına da izin verir —"merhaba"ve42tek başlarına tamamen geçerli birer JSON belgesidir.
Sıkça Sorulan Sorular
JSON geçerli mi nasıl anlarım?
JSON verinizi girdi kutusuna yapıştırıp Güzelleştir düğmesine basın. Veri geçerliyse "Geçerli JSON" onayı görünür; değilse, JSON.parse()'ın vereceği hatayla aynı şekilde türü ve konumu (satır/sütun) belirten bir hata mesajı gösterilir — böylece tüm belgeyi taramak yerine doğrudan sorunlu karaktere gidebilirsiniz.
Pretty print ile minify arasındaki fark nedir?
Pretty print (güzelleştirme), iç içe yapıları girintiler ve satır sonlarıyla insan gözüyle okunabilir hale getirir — veri üzerinde aktif çalışırken veya hata ayıklarken kullanışlıdır. Minify (sıkıştırma) ise tüm gereksiz boşlukları kaldırıp veriyi tek satıra indirir; anlam aynı kalır, sadece boyut küçülür ve aktarım hızlanır. İkisi de altta yatan veriyi değil, yalnızca kaç bayt ve satır sonuyla temsil edildiğini değiştirir. Pratikte geliştirme sırasında pretty print, üretime giden API yanıtlarında ise minify tercih edilir.
JavaScript tek tırnağa ve trailing comma'ya izin verirken JSON neden reddediyor?
JSON, JavaScript'in kendisi değil, RFC 8259 ile tanımlanmış ayrı ve daha katı bir spesifikasyondur. JavaScript nesne ifadeleri tek tırnağı, tırnaksız anahtarları ve trailing comma'yı söz dizimi kolaylığı olarak tolere eder, ama bunların hiçbiri geçerli JSON değildir — hangi dilde veya hangi backend'de olursa olsun gerçek bir JSON.parse() çağrısı bunu reddeder. Bu katılık kasıtlıdır: JSON'u onlarca dilin birebir aynı şekilde ayrıştırabileceği kadar basit tutar.
Hassas veri içeren JSON'u buraya yapıştırmak güvenli mi?
Evet. Biçimlendirme tamamen tarayıcınızda JavaScript ile yapılır; veriniz hiçbir sunucuya gönderilmez, hiçbir yerde saklanmaz ve doğrulama/güzelleştirme/sıkıştırma adımlarında hiçbir ağ isteği yer almaz. Sayfayı kapattığınızda veri tamamen yok olur; bu da API anahtarı, token veya kişisel veri içeren JSON'lar için bile bu aracı güvenli kılar.
JSON'um doğru görünüyor ama yine de hata veriyor, neden?
En sık görülen görünmez sebepler: son özellikten sonra kalan trailing comma, kelime işlemciden yapıştırılan eğik ("akıllı") tırnaklar yerine düz çift tırnak gerekliliği, metin içinde kaçışsız çift tırnak veya iki özellik arasında eksik virgül. Önce raporlanan satır/sütun bilgisine bakın — neredeyse her zaman gerçek sorunu ya da onun hemen öncesini işaret eder. Kopyala-yapıştır sırasında görünmez bir Unicode boşluk karakteri veya BOM (byte order mark) da nadiren aynı belirtiyi verebilir.
Benzer Araçlar
Sorun Bildir
JSON Formatter
Yorumlar
Henüz yorum yok — ilk yorumu siz yazın!