JSON Formatter
JSON'u prettify edin, minify edin veya doğrulayın. Sözdizimi hatalarını anında tespit edin. Tüm işlemler tarayıcıda gerçekleşir, sunucuya veri gönderilmez.
JSON'u prettify edin, minify edin veya doğrulayın. Sözdizimi hatalarını anında tespit edin. Tüm işlemler tarayıcıda gerçekleşir, sunucuya veri gönderilmez.
JSON formatlama aşağıdaki adımlardan oluşur: 1) parse ile sözdizimi doğrulama, 2) seçilen girintiye (2 veya 4 boşluk) göre yeniden serileştirme. Hatalı JSON'da parse aşamasında hata fırlatılır; satır ve sütun bilgisi gösterilir.
JSON (JavaScript Object Notation), veri alışverişinde kullanılan hafif ve okunabilir bir formattır. API'lar, konfigürasyon dosyaları ve veritabanları arası veri transferinde yaygın olarak kullanılır. İnsan tarafından okunması ve makinelerin işlemesi için ideal bir yapıya sahiptir.
JSON formatlama neden gerekli? Üretim ortamındaki JSON genellikle minify edilmiştir — boşluk ve satır sonu karakterleri kaldırılarak boyut küçültülmüştür. Bu durum debug ve analiz esnasında okumayı zorlaştırır. hesaplatr.net JSON formatter tek tıkla girintili ve okunabilir formata dönüştürür.
JSON vs XML vs YAML: JSON daha az sözdizimsel gürültüye sahip olduğundan XML'e göre okunması daha kolaydır. YAML daha insan dostu ama daha az yaygındır. REST API'larda JSON fiili standart haline gelmiştir.
JSON'un temel kuralları: Anahtarlar çift tırnak içinde olmalı ('key' değil 'key'), değerler string, number, boolean (true/false), null, object veya array olabilir, son öğenin ardından virgül gelmemelidir (trailing comma hata verir), nesneler {} array'ler [] ile sarılır.
Sık yapılan JSON hataları: Tek tırnak kullanımı, trailing comma, yorumlar (JSON standart yorum desteklemez), undefined değer, NaN/Infinity sayısal değerler. hesaplatr.net JSON formatter sözdizim hatalarını vurgular ve konum bilgisiyle gösterir.
JSON Schema: Veri yapısını doğrulamak için JSON Schema kullanılır. API geliştirmede input validation için kritik öneme sahiptir. ajv, zod gibi kütüphaneler JSON Schema validasyonu sağlar.
Minify ne zaman kullanılır? Production API yanıtları, statik dosya transferleri ve bant genişliği kısıtlı ortamlarda minify edilmiş JSON daha hızlı iletilir. 100 KB JSON dosyası minify ile %30-50 küçülebilir.
GZIP ile birleşim: JSON minify + GZIP sıkıştırma birlikte kullanıldığında dosya boyutu dramatik biçimde azalır. Minify tek başına belirgin etki yaratır; ancak GZIP asıl tasarrufu sağlar.
hesaplatr.net JSON formatter: Hem pretty-print (girintili) hem minify (tek satır) modunu destekler. Kopyala-yapıştır veya dosya yükleme seçeneğiyle çalışır.
jq — komut satırı JSON işleme: Büyük JSON dosyalarını filtrelemek, dönüştürmek ve sorgulamak için güçlü bir araçtır. `jq '.users[] | .name'` gibi ifadelerle JSON veriyi anlık işleyebilirsiniz.
JavaScript'te JSON: `JSON.parse()` string'i nesneye, `JSON.stringify()` nesneyi string'e dönüştürür. `JSON.stringify(obj, null, 2)` girintili çıktı verir. Döngüsel referanslar ve büyük nesnelerde dikkat gerekir.
Güvenlik: Güvenilmeyen kaynaktan alınan JSON'u JavaScript'te `eval()` ile çalıştırmak XSS güvenlik açığına yol açar. Her zaman `JSON.parse()` kullanın. Büyük JSON'larda ReDoS (regex tabanlı DoS) riskine dikkat edin.
REST API'da JSON standartları: HTTP başlığında `Content-Type: application/json` belirtilmeli, yanıt hem başarı hem hata durumunda tutarlı bir yapı takip etmelidir. `{data: ..., error: null, status: 200}` veya benzeri bir envelope yapısı yaygın pratiklerdendir.
GraphQL ve JSON: GraphQL sorguları HTTP üzerinden JSON döner; ancak sorgu yapısı farklıdır. Hem istek hem yanıt JSON formatındadır; schema tanımları da JSON veya SDL üzerinden yapılır.
Büyük JSON dosyaları: 100 MB+'lık JSON dosyaları tarayıcıda açmak zordur. Stream parser kütüphaneleri (node.js'te `stream-json`, Python'da `ijson`) bu dosyaları belleğe yüklemeden işler.