logo
GeekFormat

Kompres JSON

Alat kompres JSON online gratis, mendukung kompresi padat satu baris JSON, Escape/Unescape JSON, dilengkapi perbaikan sintaks cerdas otomatis menangani kesalahan umum seperti koma berlebih, menampilkan rasio kompresi secara real-time, editor CodeMirror dengan pintasan keyboard, pemrosesan murni frontend.

Rekomendasi Terkait

Kasus penggunaan

  • Mengompresi body request/response JSON dalam pengembangan API, mengurangi byte transmisi HTTP, meningkatkan kecepatan respons antarmuka (terutama di lingkungan jaringan lemah mobile)
  • Merampingkan file konfigurasi JSON frontend, paket bahasa i18n, data Mock sebelum rilis production, memperkecil ukuran sumber daya statis
  • Meng-escape objek JSON menjadi literal string yang disematkan dalam kode unit test, perintah Postman/curl
  • Unescape satu klik JSON yang sudah diescape (seperti \"key\":\"value\") yang disalin dari log menjadi JSON yang dapat dibaca
  • Memperbaiki secara batch file JSON yang memiliki kesalahan sintaks seperti koma berlebih, kutip tunggal, satu klik mengubah menjadi JSON valid
  • Mengompresi JSON yang sudah diformat menjadi satu baris lalu menempelkannya ke parameter perintah satu baris atau alat obrolan untuk dibagikan

Fitur

  • Fungsi tiga dalam satu: Kompresi padat JSON + Escape + Unescape, mencakup tiga skenario: kompresi ukuran, menyematkan string kode, memulihkan string escape
  • Perbaikan sintaks cerdas: Dilengkapi mesin tryFixJSON, otomatis mendeteksi dan memperbaiki kesalahan JSON umum seperti koma berlebih, kutip tunggal, komentar, kutip tidak tertutup, dll.
  • Editor CodeMirror: Tata letak dua kolom input kiri hasil kanan, mendukung penyorotan sintaks JSON, pembagi dapat digeser, penyesuaian ukuran font
  • Statistik kompresi real-time: Status bar menampilkan ukuran asli (Bytes/KB/MB), ukuran setelah kompresi, persentase rasio kompresi yang akurat secara instan
  • Pintasan keyboard: Shift+Cmd/Ctrl+C kompres, E escape, U unescape, O unggah, D unduh, K bersihkan, efisien tanpa mouse
  • Mode eksekusi otomatis: Setelah menempel atau mengedit debounce 400ms otomatis kompres/escape, WYSIWYG
  • Unggah unduh file: Mendukung drag & drop atau klik mengunggah file .json/.txt, setelah diproses satu klik mengunduh output.json
  • Memori riwayat lokal: localStorage otomatis menyimpan konten input terakhir, refresh halaman tidak hilang
  • Data contoh: Satu klik memuat JSON contoh untuk pengalaman cepat, peringatan kesalahan dengan tombol perbaikan
  • Keamanan murni frontend: Semua operasi dijalankan di browser lokal, data tidak diunggah ke server, dapat digunakan saat offline

Cara Penggunaan

  1. Tempelkan konten JSON ke editor kiri, atau klik tombol unggah pilih file .json/.txt lokal, juga dapat klik tombol「Contoh」untuk memuat contoh
  2. Default otomatis menjalankan mode kompresi (debounce 400ms), juga dapat secara manual klik tombol「Kompres」atau tekan pintasan Shift+Cmd/Ctrl+C
  3. Saat perlu escape menjadi string kode tekan Shift+Cmd/Ctrl+E atau alihkan mode ke Escape; saat perlu memulihkan string escape tekan Shift+Cmd/Ctrl+U
  4. Jika JSON memiliki kesalahan sintaks, bagian bawah akan menampilkan peringatan kesalahan merah, saat ada kesalahan yang dapat diperbaiki akan muncul tombol「Coba perbaiki」, klik untuk memperbaiki otomatis
  5. Status bar bagian bawah menampilkan jumlah byte sebelum/sesudah kompresi dan persentase rasio kompresi secara real-time, setelah mengonfirmasi hasil klik tombol「Salin」atau「Unduh」
  6. Pembagi antara panel kiri dan kanan dapat digeser untuk menyesuaikan lebar, juga dapat menggunakan pintasan keyboard untuk menyelesaikan semua operasi dengan cepat

Pertanyaan Umum

Apa perbedaan antara kompres JSON dan format JSON?

Format JSON (Beautify) adalah menambahkan indentasi, baris baru, dan spasi di antara pasangan kunci-nilai agar lebih mudah dibaca manusia, cocok untuk pengembangan dan debugging; kompres JSON (Minify) adalah menghapus semua karakter whitespace yang tidak perlu (spasi, baris baru, tab, indentasi), mengubah JSON multi-baris menjadi format padat satu baris, tujuannya adalah memperkecil ukuran, meningkatkan efisiensi transmisi, cocok untuk transmisi API lingkungan production, merampingkan file konfigurasi, dan menyematkan ke dalam string kode. Keduanya adalah operasi yang saling melengkapi — saat pengembangan lihat versi terformat, saat rilis gunakan versi terkompresi.

Apa itu JSON Escape? Kapan perlu digunakan?

JSON Escape adalah menambahkan garis miring terbalik (backslash) untuk melarikan diri karakter khusus dalam string JSON (terutama mengubah tanda kutip ganda " menjadi \", garis miring terbalik \ menjadi \\, baris baru menjadi \n, dll.), mengubah objek JSON multi-baris menjadi literal string satu baris yang dapat disematkan langsung ke dalam kode sumber JavaScript, Java, Python, dll. Skenario khas: saat menulis unit test menyematkan respons JSON sebagai string dalam kode pengujian; mengirimkan string JSON dalam perintah Postman atau curl; menjadikan JSON sebagai nilai string dalam file konfigurasi. Unescape adalah mengembalikan string yang sudah diescape menjadi JSON standar.

Jika JSON input memiliki kesalahan sintaks (seperti koma berlebih), apakah kompresi bisa berhasil?

Bisa. Alat ini dilengkapi mesin perbaikan sintaks cerdas (tryFixJSON), sebelum kompresi akan otomatis mendeteksi dan mencoba memperbaiki kesalahan JSON umum: 1) koma berlebih di akhir (trailing comma), seperti {"a":1,}; 2) tanda kutip tunggal menggantikan kutip ganda, seperti {'a':1}; 3) string yang tidak tertutup; 4) komentar JavaScript (// dan /* */); 5) koma berlebih di akhir, dll. Setelah diperbaiki baru dilakukan kompresi atau escape, memastikan output JSON 100% valid. Jika terdeteksi kesalahan yang dapat diperbaiki, akan muncul tombol「Coba perbaiki」pada panel, klik untuk memperbaiki satu klik.

Apakah kompres JSON akan kehilangan data? Berapa rasio kompresi biasanya?

Tidak akan kehilangan data. Kompres JSON hanya menghapus karakter whitespace format (spasi, baris baru, tab), tidak mengubah nama kunci, nilai, tipe data, dan struktur apa pun, setelah JSON.parse lalu JSON.stringify akan sepenuhnya konsisten dengan data asli. Rasio kompresi tergantung pada tingkat format JSON asli: jika awalnya adalah JSON terformat dengan indentasi 2 spasi, rasio kompresi biasanya 20%-40% (menghapus indentasi dan baris baru); jika ada banyak spasi berurutan atau komentar (setelah diperbaiki), rasio kompresi bisa mencapai lebih dari 50%. Status bar menampilkan jumlah byte asli, jumlah byte setelah kompresi, dan rasio kompresi yang akurat secara real-time.

Apakah saat mengompresi konfigurasi JSON sensitif atau data API akan bocor?

Tidak. Alat ini menggunakan arsitektur pemrosesan murni frontend, semua parsing JSON, kompresi, escape, operasi perbaikan sepenuhnya diselesaikan di mesin JavaScript browser lokal Anda, data tidak diunggah ke server eksternal melalui permintaan jaringan apa pun, saat terputus jaringan juga dapat digunakan normal. Kunci API, konfigurasi database, data bisnis, dan informasi sensitif Anda selalu tetap di lokal.

Pintasan keyboard apa saja yang didukung?

Untuk meningkatkan efisiensi, alat ini menyediakan dukungan pintasan keyboard lengkap (macOS gunakan ⌘+Shift, Windows gunakan Ctrl+Shift): Shift+⌘/Ctrl+C kompres satu klik; Shift+⌘/Ctrl+E escape; Shift+⌘/Ctrl+U unescape; Shift+⌘/Ctrl+O unggah file; Shift+⌘/Ctrl+D unduh hasil; Shift+⌘/Ctrl+K bersihkan. Saat mengetik, alat juga melakukan debounce 400ms otomatis menjalankan mode saat ini, tidak perlu mengklik tombol berulang kali.

Apa itu Kompres JSON (JSON Minify)?

Kompres JSON (JSON Minification) adalah proses menghapus semua karakter whitespace yang tidak perlu dalam teks JSON (spasi, karakter baris baru \n, karakter tab \t, karakter carriage return \r) dan komentar (tidak standar namun umum), mengubah JSON terformat dengan indentasi berlapis-lapis menjadi format padat satu baris. Kompres JSON tidak mengubah konten data apa pun — nama kunci, nilai, tipe data (string/angka/boolean/null/array/objek), struktur bertingkat sepenuhnya tetap tidak berubah, hanya menghapus whitespace format yang digunakan untuk pembacaan manusia.

Nilai inti dari kompres JSON adalah memperkecil ukuran data. Spasi indentasi dan baris baru dalam JSON terformat meskipun ramah pengembang, namun merupakan byte redundan saat transmisi dan penyimpanan jaringan. Misalnya respons API tipikal, setelah diformat mungkin 2KB, setelah dikompresi mungkin hanya 1.2-1.5KB, ukuran berkurang 25%-40%. Dalam skenario API konkurensi tinggi, lingkungan jaringan lemah mobile, distribusi file konfigurasi skala besar, kompres JSON dapat secara signifikan mengurangi konsumsi bandwidth, meningkatkan kecepatan transmisi, mengurangi biaya server. Dalam lingkungan production biasanya digunakan bersama dengan kompresi HTTP seperti Gzip/Brotli, namun JSON Minify sebagai kompresi lapisan konten tetap tidak tergantikan.

Implementasi kompres JSON sangat sederhana: gunakan JSON.parse() untuk memparsing teks menjadi objek JavaScript, lalu gunakan JSON.stringify(obj) tanpa parameter indentasi untuk serialisasi output — itulah cara implementasi inti dari alat ini. Cara parse + stringify ini secara alami menjamin output JSON 100% valid, juga dapat otomatis menghapus komentar ilegal dan koma berlebih (dengan perbaikan kesalahan). Perlu diperhatikan: kompres JSON dan kompresi Gzip adalah optimasi dua lapisan yang berbeda — JSON Minify adalah lapisan konten menghapus whitespace redundan, Gzip adalah algoritma kompresi umum lapisan transmisi, keduanya dapat digunakan secara tumpang tindih.

术语表

JSON
JavaScript Object Notation, format pertukaran data ringan yang menggunakan pasangan kunci-nilai dan struktur array, dapat dibaca manusia dan mudah diparsing mesin, merupakan format data standar REST API.
Minify / Kompres
Proses menghapus semua karakter yang tidak perlu (spasi, baris baru, komentar) dalam kode/data untuk memperkecil ukuran, umum pada sumber daya frontend seperti JS/CSS/JSON.
Beautify / Format
Operasi kebalikan dari Minify, menambahkan indentasi, baris baru, spasi membuat struktur JSON jelas dan mudah dibaca, juga disebut Prettify atau Pretty Print.
Escape
Menambahkan backslash sebelum karakter khusus (seperti " menjadi \", baris baru menjadi \n), mengubah JSON multi-baris menjadi literal string satu baris yang dapat disematkan ke dalam kode.
Unescape
Operasi kebalikan dari escape, mengembalikan urutan escape seperti \", \n, \\ menjadi karakter asli, memulihkan format JSON standar.
Trailing Comma / Koma berlebih
Koma berlebih setelah elemen terakhir objek atau array, JavaScript mengizinkan namun standar JSON tidak mengizinkan, merupakan kesalahan sintaks JSON yang paling umum.
Gzip / Brotli
Algoritma kompresi umum lapisan transmisi HTTP, melengkapi JSON Minify, setelah Minify lalu dikompresi Gzip hasilnya paling optimal.
Payload / Muatan
Badan data yang sebenarnya ditransmisikan dalam request atau response API (biasanya format JSON), mengompresi Payload dapat secara langsung mengurangi konsumsi bandwidth.
CodeMirror
Komponen editor kode sisi browser, alat ini menggunakannya untuk mengimplementasikan penyorotan sintaks JSON, nomor baris, pencocokan kurung, dan pengalaman pengeditan profesional lainnya.

Perbandingan kompres JSON dan metode kompresi umum

Metode kompresiLapisan kompresiLossyKeterbacaanSkenario penggunaan
JSON MinifyLapisan konten (hapus spasi)Tanpa kehilanganTidak terbaca (satu baris)Transmisi API production, perampingan konfigurasi
JSON BeautifyLapisan konten (tambah spasi)Tanpa kehilanganSangat terbacaPengembangan debugging, pembacaan manual
GzipLapisan transmisiTanpa kehilanganTidak terbaca (biner)HTTP Content-Encoding
BrotliLapisan transmisiTanpa kehilanganTidak terbaca (biner)Kompresi sumber daya statis HTTPS (20% lebih tinggi dari Gzip)
MessagePackLapisan serialisasiTanpa kehilanganTidak terbaca (biner)Komunikasi internal RPC performa tinggi

Tabel referensi karakter khusus JSON Escape

Karakter asliSetelah diescapeNamaCatatan
"\"Tanda kutip gandaKarakter paling umum yang wajib diescape dalam string JSON
\\\Garis miring terbalikKarakter escape itu sendiri perlu diescape
Baris baru\nNewlineString multi-baris dikompres menjadi satu baris wajib diescape
Tab\tTabEscape Tab indentasi
Carriage return\rCarriage ReturnCR dalam CRLF baris baru Windows
/\/Garis miringStandar JSON mengizinkan namun tidak mewajibkan escape (opsional)

Authoritative References