JSON Formatter + Tree Viewer

JSON Küçültme Online: Compact JSON Aracı

Dosya boyutunu azaltmak için JSON'dan boşlukları kaldırın. API yükleri, yapılandırma dosyaları ve log girişleri için tek tıklamayla küçültme.

Verileriniz tarayıcınızdan çıkmaz.

Editör yükleniyor...

Editör yükleniyor...

Küçültülmüş Çıktı

Yukarıdaki girdiyi küçültmek, belirteçler arasındaki tüm boşlukları kaldırır:

{"name":"DevBento","version":"1.0.0","description":"Developer tools suite","features":["JSON Formatter","Base64 Encoder","UUID Generator","Regex Tester"],"config":{"theme":"dark","indent":2,"autoSave":true}}

Güzel biçimlendirilmiş sürüm 233 bayttır. Küçültülmüş sürüm 189 bayttır. Bu, yalnızca boşlukları kaldırarak yüzde 19’luk bir azalmadır.

Küçültme Neyi Kaldırır

Bir JSON küçültücü tam olarak iki kategori boşluk kaldırır:

Bu, {"message": "hello world"} ifadesinin {"message":"hello world"} şeklinde küçültüldüğü anlamına gelir. String içindeki boşluklar veridir ve korunur. İki nokta üst üsteden önceki boşluk sözdizimseldir ve kaldırılır.

Küçültme asla anahtar adlarını, string değerlerini, sayıları veya belgenin yapısını değiştirmez. Bir belgeyi küçültüp sonra güzel biçimlendirirseniz, taze girinti ile aynı veriyi geri alırsınız.

Gerçek Boyut Azaltma Rakamları

Orijinal boyutGüzel biçimlendirilmişKüçültülmüşKüçültülmüş + gzip
Küçük yapılandırma (1 KB)1.024 B~820 B~380 B
Orta API yanıtı (50 KB)51.200 B~41.000 B~8.500 B
Büyük veri kümesi (1 MB)1.048.576 B~840.000 B~95.000 B

Gzip baskındır. Gzip’ten önce küçültme, sıkıştırmanın zaten elde ettiğinin üzerine yalnızca yüzde birkaç kazandırır. Ancak sıkıştırılmamış statik varlıklarda her bayt önemlidir.

Küçültme Ne Zaman Önemlidir

Küçültme, belirli bir dizi durumda anlamlı tasarruf sağlar:

Tutarlı sıkıştırma olmayan statik JSON varlıkları

Çeviri dosyaları, GeoJSON, gömülü yapılandırma ve paketlenmiş veri dosyaları genellikle CDN’lerden sunulur veya doğrudan derleme çıktısına gömülür. Sıkıştırma her zaman uygulanmaz veya tutarsız olabilir. Dağıtımdan önce bunları küçültmek, kullanıcılarınızın indirdiği baytları azaltır.

Loglama ve telemetri yükleri

Log girişleri ve telemetri olayları genellikle günde milyonlarca kez diske yazılır veya kablo üzerinden gönderilir. Bu ölçekte küçültülmüş JSON girişleri depolama maliyetlerini ve ağ yükünü azaltır. Tek bir log girişi 100 bayt küçülebilir. Günde 100 milyon girişte bu, günde 10 GB’dir.

HTML içinde gömülü JSON

Başlangıç sayfa durumu olarak bir <script> etiketine JSON gömüyorsanız (sunucu tarafından işlenen React uygulamaları için yaygın bir desen), JSON HTML yükünün bir parçasıdır. Küçültmek, tarayıcı herhangi bir şeyi ayrıştırmadan önce başlangıç sayfa boyutunu azaltır.

Küçültme Ne Zaman Önemli Değildir

API sunucunuz zaten Content-Encoding: gzip veya Content-Encoding: br gönderiyorsa, küçültme ihmal edilebilir değer katar. Bunu yanıt başlıklarınızda doğrulayın:

curl -sI -H "Accept-Encoding: gzip" https://api.example.com/data | grep -i content-encoding

content-encoding: gzip görüyorsanız, API’niz zaten sıkıştırma yapıyordur. Bunun üzerine küçültme, geliştirme sırasında okunabilirlik maliyetine değmez.

Komut Satırında JSON Küçültme

jq ile -c (compact) bayrağı küçültülmüş JSON çıktısı verir:

jq -c . file.json

Bir string’i satır içi küçültme:

echo '{"name": "Alice", "age": 30}' | jq -c .
# {"name":"Alice","age":30}

Python’un json modülü:

python3 -c "import json,sys; print(json.dumps(json.load(sys.stdin), separators=(',', ':')))" < file.json

separators=(',', ':') argümanı, virgül ve iki nokta üst üsteden sonraki varsayılan boşlukları kaldırır. Bu olmadan Python’un çıktısı her sınırlayıcıdan sonra boşluklar içerir.

Node.js:

node -e "const fs=require('fs'); console.log(JSON.stringify(JSON.parse(fs.readFileSync('/dev/stdin','utf8'))))" < file.json

Çok sayıda dosyayı küçültmesi gereken betikler için jq -c . en hızlı ve en okunabilir seçenektir.