Apakah peminifikasian JSON?
JSON (JavaScript Object Notation) ialah format pertukaran data berasaskan teks yang ringan yang ditakrifkan oleh RFC 8259 dan ECMA-404. Peminifikasian membuang setiap ruang, tab, dan baris baharu yang berada di luar literal rentetan — nilai dipelihara bait demi bait, hanya ruang kosong kosmetik yang dibuang. Output dihurai kepada nilai yang sama persis seperti input.
Bagaimana peminifikasian JSON berfungsi?
Input anda diproses sepenuhnya di pelayar anda menggunakan fungsi JSON.parse dan JSON.stringify terbina dalam. Langkah-langkah utama adalah:
- Input anda dibaca daripada textarea secara verbatim — setiap bait yang anda tampal disimpan dalam ingatan secara tempatan.
- Pelayar menghurainya dengan
JSON.parse. Jika input bukan JSON yang sah, penghurai membuangSyntaxErroryang ditangkap dan dipaparkan secara verbatim — teks anda tidak pernah meninggalkan halaman. - Apabila penghuraian berjaya, nilai yang dihurai dikeluarkan semula dengan
JSON.stringify(value)— tanpa argumen inden — menghasilkan bentuk sah terpendek nilai yang sama. - Panjang bait teks asal dan yang diminikan dikira dengan
new TextEncoder().encode(...).byteLength— kiraan bait UTF-8 yang sama yang akan dilihat oleh pelayan HTTP pada wayar. - Output ditulis ke textarea baca sahaja, jalur metrik melaporkan delta bait dengan peratusan yang disimpan, dan butang Muat Turun membungkus hasil sebagai fail
.min.jsonyang boleh anda hantar.
Mengapa minikan JSON dengan alat ini?
- Privasi: setiap laluan penghuraian, peminifikasian, dan metrik berlaku di pelayar anda. JSON tidak pernah mencapai pelayan kami — tiada muat naik, tiada telemetri, tiada akaun.
- Nombor bait sebenar: saiz asal, saiz diminikan, dan penjimatan dikira dengan TextEncoder supaya anda melihat delta bait UTF-8 sebenar yang akan dikenakan caj oleh CDN atau get laluan API.
- Sifar kehilangan data: peminifikasian adalah semata-mata kosmetik — setiap nilai dihurai kepada pokok JSON yang sama, jadi ia selamat untuk muatan pengeluaran, manifes, dan lekapan terbenam.
- Pantas:
JSON.parse+JSON.stringifytulen mengendalikan muatan saiz papan klip biasa dengan serta-merta, tanpa perpustakaan luar untuk dimuatkan.
Apakah aplikasi biasa peminifikasian JSON?
Membuang ruang kosong tidak bererti daripada JSON muncul dalam pembangunan web, kejuruteraan data, dan sistem terbenam:
- Pengurangan muatan API: kecilkan badan permintaan dan respons sebelum ia merentas get laluan API berbayar, pautan keluar berbayar, atau pautan satelit.
- Membenamkan dalam HTML: isikan gumpalan JSON ke dalam atribut
data-*atau tag<script type="application/json">tanpa membocorkan ruang kosong pencetak cantik ke dalam halaman yang dirender. - localStorage yang lebih kecil: kurangkan penggunaan kuota localStorage / IndexedDB dengan menulis JSON yang diminikan dan bukannya JSON yang dicetak cantik, yang amat berharga pada pelayar mudah alih dengan had storan per-asal yang ketat.
Bagaimana contoh peminifikasian JSON kelihatan?
Menampal fail konfigurasi bercetak cantik 1.2 KB (kira-kira 1,225 bait dengan inden dua ruang) dan menekan Minify biasanya meruntuhkannya kepada bawah 0.4 KB — penjimatan 66% — dengan setiap kunci dan nilai dipelihara dengan tepat. Fail output.min.json yang boleh dimuat turun adalah setara bait dengan apa yang akan dikeluarkan oleh pelayan HTTP tanpa perisian tengah pemformatan.
Adakah ini berjalan di pelayar saya?
Ya. Saluran paip minify ialah JSON.parse + JSON.stringify tulen yang berjalan dalam tab pelayar. Tiada apa yang dimuat naik, tiada pekerja perkhidmatan yang memproksi input anda, dan halaman membuat sifar permintaan rangkaian untuk langkah minify itu sendiri. Satu-satunya trafik keluar ialah aset muat turun halaman standard (CSS, fon, analitik) — JSON anda tidak pernah mencapai Ultim8Soft.
Mengapa minikan JSON?
JSON yang diminikan dihurai kepada nilai yang sama persis seperti sumber yang dicetak cantik tetapi lebih kecil pada wayar dan dalam storan. Muatan yang lebih kecil bermakna bil keluar CDN yang lebih rendah, muat turun mudah alih yang lebih pantas, tekanan ingatan yang lebih rendah dalam pekerja perkhidmatan, dan padanan yang lebih ketat dalam sampul saiz tetap seperti muatan JWT, atribut HTML data-* terbenam, dan kuota localStorage. Untuk API volum tinggi, penjimatan bait terkumpul — pengurangan 30% pada titik akhir 1 GB/hari menjimatkan lebih kurang 9 GB sebulan.
Adakah peminifikasian kehilangan data?
Tidak. Peminifikasian JSON hanya membuang ruang kosong yang berada di luar literal rentetan — ruang, tab, dan baris baharu yang sudah diklasifikasikan sebagai tidak bererti oleh spesifikasi. Setiap kunci, nilai, nombor, urutan lepas, dan aksara rentetan dipelihara bait demi bait. Output dihurai kepada nilai yang deepEqual dengan input. Indentasi kosmetik adalah satu-satunya perkara yang hilang.
Apakah perbezaan antara formatter dan minifier?
Rakan JSON Formatter pergi ke arah lain: ia mengembangkan ruang kosong supaya manusia boleh membaca struktur bersarang. Minifier membuang ruang kosong itu kembali untuk pengangkutan dan storan. Kedua-dua alat adalah songsangan — melakukan perjalanan pulang pergi dokumen JSON melalui Formatter → Minifier menghasilkan rentetan-bait yang sama dengan yang anda mulakan dengan minifier, kerana kedua-duanya beroperasi pada nilai yang dihurai, bukan pada penanda aras kosmetik.
JSON minifier ini menggunakan penghurai yang sama yang digunakan oleh Node.js, Deno, atau masa jalan pelayar anda dan menghasilkan output yang setara bait dengan apa yang akan dikeluarkan oleh pelayan HTTP tanpa hiasan. Tampalkan mana-mana JSON di atas, salin output, atau muat turunnya sebagai .min.json.