Minifier JSON
Lampirkan dokumen JSON yang telah dicetak dengan tampilan menarik, lalu dapatkan versi satu baris yang semua byte tidak perlu dihilangkan: ruang antar token, baris baru, spasi akhir, serta komentar JSONC. Hasil keluarannya memiliki jumlah byte yang setara dengan pengkodean terpendek dari data yang sama, siap untuk disematkan dalam <script>, parameter URL, atau payload yang dibayar per byte.
Cara meminimalkan ukuran JSON
-
1
Lampirkan JSON
Telah dicetak dengan format standar atau sebagian telah diminifikasi. Data masukan diproses dan diserialisasi ulang.
-
2
Kurangi ukuran (minimize)
Seluruh ruang kosong di antara token dihapus; komentar dihilangkan; angka dipertahankan seperti semula.
-
3
Lihat perbedaan ukuran
Jumlah byte sebelum dan sesudah serta persentase penurunan.
-
4
Salin hasil keluaran
JSON satu baris yang siap dicantumkan ke dalam berkas kode atau permintaan API.
Apa yang dihapus
- Ruang kosong di antara token: spasi, tab, dan baris baru.
- Komentar (dalam format JSONC, yaitu
//dan/* */), dihilangkan karena format JSON yang ketat melarang penggunaan komentar tersebut. - BOM dan ruang kosong di awal dokumen.
Apa yang tidak dihapus
- Nilai: setiap string, angka, nilai boolean, dan null dipertahankan secara persis.
- Format angka: setiap angka dipertahankan persis seperti yang ditulis:
1.50tetap1.50dan1e-3tetap1e-3. Alat ini mempertahankan tingkat presisi yang Anda masukkan. - Urutan kunci: objek tetap mempertahankan urutan penyisipan aslinya.
Mengapa perlu meminifikasi JSON
– Beban data yang lebih kecil: konfigurasi berukuran 120 KB dengan tampilan yang rapi dapat dikurangi menjadi hanya 70 KB; hal ini sangat penting untuk setiap permintaan.
- embedding inline: ketika Anda menempatkan kode JSON ke dalam tag
<script>atau parameter URL, ruang kosong akan menyebabkan pemborosan bandwidth. - Stabilitas hash: dua dokumen JSON yang secara semantik setara namun memiliki nilai hash berbeda akibat perbedaan ruang kosong. Proses minimisasi terlebih dahulu menghasilkan nilai hash yang konsisten (meskipun kanonialisasi sebenarnya juga menyortir nilai-nilai kunci).
Referensi penghematan byte
| Masukan | Berformat (2 spasi) | Terminifikasi | Penghematan |
|---|---|---|---|
| Konfigurasi kecil (50 kunci) | 1,8 KB | 1,1 KB | 39% |
| Respons API (5 KB bersarang) | 6,2 KB | 4,1 KB | 34% |
| Penyimpanan data besar | 1,2 MB | 0,8 MB | 33% |
Setelah menggunakan gzip, perbedaan ukuran file berkurang secara signifikan, karena gzip sudah mampu mengompresi ruang kosong dengan efisien. Gunakan minifikasi untuk kasus data mentah (URL, konten yang disisipkan inline); sementara untuk transmisi data melalui jaringan, andalkan gzip saja.
Kapan Tidak Harus Meminifikasi
- File konfigurasi yang disimpan dalam sistem kontrol versi, kejelasan lebih diutamakan daripada jumlah byte. – File yang diedit oleh manusia – Tidak ada orang yang mengedit file JSON yang telah diminifikasi secara manual tanpa menyesalinya. – Artefak debugging: File JSON berukuran 400 KB yang hanya terdiri dari satu baris dalam log crash tidak dapat dibaca.
Kesalahan Umum
- Mengurangi ukuran JSON yang bergantung pada komentar: Komentar akan dihapus, dan perilaku parser dapat berubah jika terdapat penanda TODO.
- Mengurangi ukuran bilangan desimal terapung. Beberapa alat melakukan serialisasi ulang
0.1secara berbeda dari format masukan; alat ini mempertahankan representasi berupa string secara tepat. - Gunakan minifikasi sebagai metode kompresi. Gzip menghemat lebih banyak byte dibandingkan minifikasi untuk teks. Gabungkan keduanya; jangan menggantinya.
Pertanyaan yang Sering Diajukan
Biasanya ukurannya 30–40% lebih kecil untuk data yang telah diproses dengan format cetak menarik. Penghematan tersebut hampir seluruhnya berasal dari ruang kosong; data aktualnya tidak berubah. Setelah proses gzip, perbedaan antara versi yang telah diminifikasi dan versi dengan format cetak menarik umumnya kurang dari 5%, karena gzip mengolah ruang kosong secara efisien.
Alat ini mempertahankan bentuk string angka secara tepat: 1.50 tetap menjadi 1.50, dan 1e-3 tetap menjadi 1e-3. Beberapa alat pemangkas (minifier) melakukan normalisasi; yang ini secara default bersifat konservatif sehingga Anda tidak akan mengalami kehilangan presisi yang tidak diinginkan.
Tidak. Proses minimisasi sepenuhnya dijalankan langsung di peramban Anda. Data JSON yang ditampal tidak meninggalkan mesin Anda, sangat aman untuk respons API yang mengandung token atau konfigurasi pribadi.
Ya, komentar diperbolehkan pada data masukan dan dihilangkan dari hasil keluaran (JSON yang ketat tidak mengizinkannya). Jika Anda perlu mempertahankan komentar tersebut, simpanlah kode sumber JSONC dalam format yang mudah dibaca, dan lakukan minimisasi hanya saat proses penyebaran.
Alat Terkait
Referensi Tabel ASCII
Tabel ASCII lengkap dari 0 sampai 127 dengan desimal, heksadesimal, oktal, biner, dan referensi karakter numerik HTML untuk setiap karakter, termasuk kode kontrol seperti NUL, LF, dan DEL.
Referensi Karakter HTML
Daftar entitas HTML yang dapat dicari, beserta kode bernama dan kode numeriknya, serta fitur salin dengan satu klik untuk karakter khusus dan simbol.
Referensi pintasan papan ketik
Cari pintasan bawaan terdokumentasi untuk VS Code, Chrome, dan Bash dengan GNU Readline di macOS, Windows, dan Linux.
Pemformat HTML
Format HTML secara lokal di browser dengan inden dua atau empat spasi. HTML tidak diunggah atau divalidasi.
Generator EditorConfig
Buat file .editorconfig dengan gaya dan ukuran indentasi, akhir baris, charset, dan aturan spasi Anda untuk format yang konsisten di berbagai IDE dan editor.
Validator Email
Validasi alamat email: pemeriksaan sintaks RFC 5322, pengecekan live record MX, serta detail bagian lokal, domain, dan panjang. Tidak ada email yang dikirim.
Alat ini tersedia dalam bahasa lain
- Minificateur JSON [FR]
- JSON-minifierare [SV]
- เครื่องย่อข้อมูล JSON [TH]
- مُختصر بيانات JSON [AR]
- Bộ rút gọn JSON [VI]
- JSON 압축기 [KO]
- JSON-Minifier [DE]
- Minificador JSON [ES]
- JSON-minifier [NL]
- Minifikator formatu JSON [PL]
- JSON圧縮ツール [JA]
- Minificador de JSON [PT]
- Минифайер JSON [RU]
- JSON Minifier [TR]
- JSON 压缩器 [ZH]
- JSON Minifier [EN]
- Minificatore JSON [IT]