logo
GeekFormat

JSON Compress

Tek satır kompakt JSON minifikasyonunu destekleyen ücretsiz çevrimiçi JSON sıkıştırma aracı, JSON Escape/Unescape, sondaki virgüller ve diğer yaygın hataları otomatik olarak işleyen yerleşik akıllı söz dizimi onarımı, gerçek zamanlı sıkıştırma oranı gösterimi, klavye kısayolları ile CodeMirror editörü, saf ön uç işleme.

İlgili Öneriler

Kullanım senaryoları

  • HTTP iletim baytlarını azaltmak ve API yanıt hızını artırmak için API geliştirmede JSON istek/yanıt gövdelerini sıkıştırın (özellikle zayıf mobil ağlarda)
  • Statik kaynak boyutunu küçültmek için dağıtımdan önce ön uç JSON yapılandırma dosyalarını, i18n dil paketlerini ve Mock verilerini küçültün
  • Birim test koduna, Postman/curl komutlarına gömmek için JSON nesnelerini dize sabitlerine kaçış yapın
  • Günlüklerden kopyalanan kaçışlı JSON'u (örn. \"key\":\"value\") okunabilir JSON'a tek tıklamayla Unescape yapın
  • Sondaki virgüller ve tek tırnaklar gibi söz dizimi hataları olan JSON dosyalarını toplu olarak onarın, tek tıklamayla geçerli JSON'a dönüştürün
  • Biçimlendirilmiş JSON'u tek satıra sıkıştırın ve paylaşmak için komut satırı argümanlarına veya sohbet araçlarına yapıştırın

Özellikler

  • Üçü bir arada: kompakt JSON sıkıştırma + Escape + Unescape, boyut küçültme, kod dizesi gömme ve kaçış geri yükleme senaryolarını kapsar
  • Akıllı söz dizimi onarımı: yerleşik tryFixJSON motoru, sondaki virgüller, tek tırnaklar, yorumlar, kapanmamış tırnaklar gibi yaygın JSON hatalarını otomatik olarak algılar ve düzeltir
  • CodeMirror editörü: solda giriş ve sağda sonuçlar ile çift bölmeli düzen, JSON söz dizimi vurgulama, sürüklenebilir ayırıcı, yazı tipi boyutu ayarlama desteği
  • Gerçek zamanlı sıkıştırma istatistikleri: durum çubuğu anında orijinal boyutu (Bytes/KB/MB), sıkıştırılmış boyutu ve hassas sıkıştırma oranı yüzdesini gösterir
  • Klavye kısayolları: Shift+Cmd/Ctrl+C sıkıştır, E kaçış, U kaçışı kaldır, O yükle, D indir, K temizle — fare kullanmadan verimli çalışma
  • Otomatik yürütme modu: yapıştırma veya düzenlemeden sonra 400 ms gecikmeyle otomatik sıkıştır/kaçış yap, WYSIWYG
  • Dosya yükleme ve indirme: .json/.txt dosyalarını yüklemek için sürükle veya tıkla, işlemden sonra tek tıklamayla output.json indir
  • Yerel geçmiş: localStorage son girilen içeriği otomatik olarak kaydeder, sayfa yenilemede veri kaybı olmaz
  • Örnek veriler: hızlı deneme için tek tıklamayla örnek JSON yükle, onarım düğmesi ile hata mesajları
  • Saf ön uç güvenliği: tüm işlemler tarayıcıda yerel olarak çalışır, sunucuya veri yüklenmez, çevrimdışı çalışır

Nasıl Kullanılır

  1. JSON içeriğini sol editöre yapıştırın, yerel bir .json/.txt dosyası seçmek için yükle düğmesine tıklayın veya bir örnek yüklemek için «Örnek» düğmesine tıklayın
  2. Sıkıştırma modu varsayılan olarak otomatik çalışır (400 ms gecikme), veya manuel olarak «Sıkıştır» düğmesine tıklayın ya da Shift+Cmd/Ctrl+C tuşlarına basın
  3. Kod dizeleri için kaçış yapmak için Shift+Cmd/Ctrl+E tuşlarına basın veya Escape moduna geçin; kaçışlı dizeleri geri yüklemek için Shift+Cmd/Ctrl+U tuşlarına basın
  4. JSON'da söz dizimi hataları varsa, altta kırmızı bir hata mesajı görünür; düzeltilebilir hatalar olduğunda «Düzeltmeyi Dene» düğmesi görünür — otomatik düzeltme için tıklayın
  5. Alt durum çubuğu gerçek zamanlı olarak sıkıştırma öncesi/sonrası bayt sayılarını ve sıkıştırma oranı yüzdesini gösterir; sonuçları onayladıktan sonra «Kopyala» veya «İndir» düğmesine tıklayın
  6. Sol ve sağ paneller arasındaki ayırıcı, genişlik ayarı için sürüklenebilir; tüm işlemleri hızlıca tamamlamak için klavye kısayollarını da kullanabilirsiniz

Sık Sorulan Sorular

JSON Compress ile JSON Format arasındaki fark nedir?

JSON Format (Beautify), anahtar-değer çiftleri arasına girintiler, yeni satırlar ve boşluklar ekleyerek insan gözü için daha okunabilir hale getirir, geliştirme ve hata ayıklama için uygundur; JSON Compress (Minify) ise tüm gereksiz boşluk karakterlerini (boşluklar, yeni satırlar, sekmeler, girintiler) kaldırarak çok satırlı JSON'u kompakt tek satır formatına dönüştürür, boyutu küçültmek ve iletim verimliliğini artırmak amacıyla, üretim API iletimi, yapılandırma dosyası küçültme ve kod dizelerine gömme için uygundur. İkisi tamamlayıcı işlemlerdir — geliştirme sırasında biçimlendirilmiş sürümü görüntüleyin, üretimde sıkıştırılmış sürümü kullanın.

JSON Escape nedir? Ne zaman kullanmam gerekir?

JSON Escape, JSON dizelerindeki özel karakterlere ters eğik çizgi kaçış karakterleri eklemektir (esas olarak çift tırnakları " → \", ters eğik çizgileri \ → \\, yeni satırları \n vb. dönüştürmek), çok satırlı JSON nesnelerini doğrudan JavaScript, Java, Python vb. kaynak kodlarına gömülebilen tek satır dize sabitlerine dönüştürmek. Tipik senaryolar: birim testleri yazarken JSON yanıtlarını test koduna dize olarak gömmek; Postman veya curl komutlarında JSON dizelerini iletmek; yapılandırma dosyalarında JSON'u dize değerleri olarak kullanmak. Unescape, kaçışlı dizeleri standart JSON'a geri döndüren ters işlemdir.

Giriş JSON'unda söz dizimi hataları varsa (sondaki virgüller gibi), yine de başarıyla sıkıştırılabilir mi?

Evet. Bu araçta yerleşik akıllı söz dizimi onarım motoru (tryFixJSON) bulunur; sıkıştırmadan önce yaygın JSON hatalarını otomatik olarak algılar ve düzeltmeye çalışır: 1) sondaki fazla virgüller (trailing comma), örneğin {"a":1,}; 2) çift tırnak yerine tek tırnak, örneğin {'a':1}; 3) kapanmamış dizeler; 4) JavaScript yorumları (// ve /* */); 5) sondaki fazla virgüller vb. Onarımdan sonra, çıktının %100 geçerli JSON olmasını sağlamak için sıkıştırma veya kaçış işlemi gerçekleştirilir. Düzeltilebilir bir hata algılanırsa, panelde «Düzeltmeyi Dene» düğmesi görünür; otomatik olarak düzeltmek için tıklayın.

JSON sıkıştırma veri kaybına neden olur mu? Tipik sıkıştırma oranı nedir?

Veri kaybı olmaz. JSON sıkıştırma yalnızca biçimlendirici boşluk karakterlerini (boşluklar, yeni satırlar, sekmeler) kaldırır, hiçbir anahtar adını, anahtar değerini, veri türünü veya yapıyı değiştirmez. JSON.parse ve ardından JSON.stringify işleminden sonra veriler orijinaliyle tamamen aynıdır. Sıkıştırma oranı, orijinal JSON'un ne kadar biçimlendirildiğine bağlıdır: orijinali 2 boşluk girintili biçimlendirilmiş JSON ise, sıkıştırma oranı genellikle %20-%40'tır (girintiler ve yeni satırlar kaldırılır); büyük miktarlarda ardışık boşluk veya yorum varsa (onarımdan sonra), sıkıştırma oranı %50'yi aşabilir. Durum çubuğu orijinal baytları, sıkıştırılmış baytları ve hassas sıkıştırma oranını gerçek zamanlı olarak gösterir.

Hassas JSON yapılandırmaları veya API verileri sıkıştırma sırasında sızdırılır mı?

Hayır. Bu araç saf ön uç işleme mimarisi kullanır; tüm JSON ayrıştırma, sıkıştırma, kaçış ve onarım işlemleri tamamen yerel tarayıcınızın JavaScript motorunda gerçekleştirilir. Veriler hiçbir ağ isteğiyle harici sunuculara yüklenmez ve çevrimdışıyken de normal şekilde çalışır. API anahtarlarınız, veritabanı yapılandırmalarınız, iş verileriniz ve diğer hassas bilgileriniz her zaman yerel olarak kalır.

Hangi klavye kısayolları desteklenir?

Verimlilik için bu araç tam klavye kısayolu desteği sağlar (macOS'te ⌘+Shift, Windows'ta Ctrl+Shift kullanın): tek tıklamayla sıkıştırma için Shift+⌘/Ctrl+C; Escape için Shift+⌘/Ctrl+E; Unescape için Shift+⌘/Ctrl+U; dosya yüklemek için Shift+⌘/Ctrl+O; sonucu indirmek için Shift+⌘/Ctrl+D; temizlemek için Shift+⌘/Ctrl+K. Yazarken araç ayrıca mevcut modu 400 ms gecikmeyle (debounce) otomatik olarak yürütür, düğmelere tekrar tekrar tıklamanıza gerek yoktur.

JSON Compress (JSON Minify) nedir?

JSON Compress (JSON Minification), JSON metninden tüm gereksiz boşluk karakterlerini (boşluklar, yeni satırlar\n, sekmeler\t, satır başı\r) ve yorumları (standart dışı ancak yaygın) kaldırma, çok seviyeli girintili biçimlendirilmiş JSON'u kompakt tek satır formata dönüştürme işlemidir. JSON sıkıştırma hiçbir veri içeriğini değiştirmez — anahtar adları, değerler, veri türleri (dize/sayı/boolean/null/dizi/nesne) ve iç içe yapı tamamen değişmeden kalır; yalnızca insan tarafından okunabilirlik için tasarlanmış biçimlendirici boşlukları kaldırır.

JSON sıkıştırmanın temel değeri veri boyutunu küçültmektir. Biçimlendirilmiş JSON'daki girinti boşlukları ve yeni satırlar, geliştirici dostu olsa da, ağ iletimi ve depolama sırasında gereksiz baytlardır. Örneğin, tipik bir API yanıtı biçimlendirildiğinde 2 KB olabilir ve sıkıştırıldıktan sonra yalnızca 1,2-1,5 KB olabilir, bu da %25-%40 boyut azalması demektir. Yüksek eşzamanlı API senaryolarında, zayıf mobil ağ ortamlarında ve büyük ölçekli yapılandırma dosyası dağıtımında, JSON sıkıştırma bant genişliği tüketimini önemli ölçüde azaltır, iletim hızını artırır ve sunucu yükünü azaltır. Üretim ortamlarında genellikle Gzip/Brotli gibi HTTP sıkıştırmasıyla birlikte kullanılır, ancak içerik katmanı sıkıştırması olarak JSON Minify vazgeçilmezdir.

JSON sıkıştırma uygulaması çok basittir: metni bir JavaScript nesnesine ayrıştırmak için JSON.parse() kullanın, ardından çıktıyı serileştirmek için girinti parametreleri olmadan JSON.stringify(obj) kullanın — bu tam olarak bu aracın temel uygulama yöntemidir. Bu parse + stringify yaklaşımı, çıktı JSON'unun %100 geçerli olduğunu doğal olarak garanti eder ve yasadışı yorumları ve sondaki virgülleri otomatik olarak kaldırabilir (hata onarımı ile). Not: JSON sıkıştırma ile Gzip sıkıştırma farklı optimizasyon katmanlarıdır — JSON Minify içerik katmanında gereksiz boşlukları kaldırır, Gzip aktarım katmanında genel amaçlı bir sıkıştırma algoritmasıdır; ikisi birlikte kullanılabilir.

术语表

JSON
JavaScript Object Notation, anahtar-değer çiftleri ve dizi yapıları kullanan, insan tarafından okunabilir ve makine tarafından ayrıştırılabilir, hafif bir veri değişim formatıdır; REST API için standart veri formatıdır.
Minify / Sıkıştır
Boyutu küçültmek için koddan/verilerden tüm gereksiz karakterleri (boşluklar, yeni satırlar, yorumlar) kaldırma işlemi, yaygın olarak JS/CSS/JSON ön uç kaynaklarına uygulanır.
Beautify / Biçimlendir
Minify'ın tersi, JSON yapısını açık ve okunabilir kılmak için girintiler, yeni satırlar ve boşluklar ekleme, ayrıca Prettify veya Pretty Print olarak da adlandırılır.
Escape / Kaçış
Özel karakterlerden önce ters eğik çizgi ekleme (örn. " → \", yeni satır → \n), çok satırlı JSON'u koda gömülebilen tek satır dize sabitlerine dönüştürme.
Unescape / Kaçışı kaldır
Escape'in tersi, \", \n, \\ gibi kaçış dizilerini orijinal karakterlere geri yükleme, standart JSON formatını kurtarma.
Trailing Comma
Bir nesne veya dizideki son elemandan sonraki fazladan virgül; JavaScript'te izin verilir ancak JSON standardında izin verilmez, en yaygın JSON söz dizimi hatasıdır.
Gzip / Brotli
HTTP aktarım katmanı genel amaçlı sıkıştırma algoritmaları, JSON Minify'ı tamamlar; Minify'dan sonra Gzip en iyi sıkıştırmayı sağlar.
Payload
Bir API isteğinde veya yanıtında iletilen gerçek veri gövdesi (genellikle JSON formatında); Payload'ı sıkıştırmak bant genişliği tüketimini doğrudan azaltır.
CodeMirror
Tarayıcı tarafı kod düzenleyici bileşeni; bu araç bunu JSON söz dizimi vurgulama, satır numaraları, parantez eşleştirme ve diğer profesyonel düzenleme deneyimleri için kullanır.

JSON sıkıştırma ile yaygın sıkıştırma yöntemleri karşılaştırması

YöntemSıkıştırma katmanıKayıpsızOkunabilirlikKullanım senaryosu
JSON Minifyİçerik katmanı (boşlukları kaldır)EvetOkunamaz (tek satır)Üretim API iletimi, yapılandırma küçültme
JSON Beautifyİçerik katmanı (boşluk ekle)EvetYüksek okunabilirGeliştirme, hata ayıklama, manuel okuma
GzipAktarım katmanıEvetOkunamaz (ikili)HTTP yanıtı Content-Encoding
BrotliAktarım katmanıEvetOkunamaz (ikili)HTTPS statik kaynak sıkıştırma (Gzip'den %20 daha iyi)
MessagePackSerileştirme katmanıEvetOkunamaz (ikili)Yüksek performanslı RPC iç iletişimi

JSON Escape özel karakter referans tablosu

Orijinal karakterKaçışlı haliAdAçıklama
"\"Çift tırnakJSON dizelerinde kaçılması gereken en yaygın karakter
\\\Ters eğik çizgiKaçış karakterinin kendisi de kaçış gerektirir
Newline\nNewlineÇok satırlı dizeleri tek satıra sıkıştırırken kaçılmalıdır
Tab\tTabGirinti sekmesi kaçışı
Carriage Return\rCarriage ReturnWindows CRLF yeni satırındaki CR
/\/Eğik çizgiJSON standardı tarafından izin verilir ancak gerekli değildir (isteğe bağlı)

Authoritative References