§

Tampal JSON

§

Output diminikan

text
§

% Disimpan

  • Saiz asal
  • Saiz diminikan
  • Disimpan
  • % Disimpan

Memangkas JSON kepada bentuk sah terkecil berbaloi di mana-mana sahaja bait dikenakan caj: perkhidmatan API mengira saiz muatan permintaan dan respons terhadap hadnya, CloudFront dan Cloudflare mengenakan caj keluar per gigabait, dan portal data kerajaan menerbitkan eksport JSON berbilang gigabait yang dimuat turun oleh jurutera ke komputer riba mereka di lapangan. Sumber FHIR HL7 penjagaan kesihatan, telemetri IoT, dan papan pemuka SaaS yang diliputi CDN semuanya mendapat manfaat kos dan kependaman sebenar apabila JSON diminikan sebelum meninggalkan pelayar.

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:

  1. Input anda dibaca daripada textarea secara verbatim — setiap bait yang anda tampal disimpan dalam ingatan secara tempatan.
  2. Pelayar menghurainya dengan JSON.parse. Jika input bukan JSON yang sah, penghurai membuang SyntaxError yang ditangkap dan dipaparkan secara verbatim — teks anda tidak pernah meninggalkan halaman.
  3. Apabila penghuraian berjaya, nilai yang dihurai dikeluarkan semula dengan JSON.stringify(value) — tanpa argumen inden — menghasilkan bentuk sah terpendek nilai yang sama.
  4. 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.
  5. Output ditulis ke textarea baca sahaja, jalur metrik melaporkan delta bait dengan peratusan yang disimpan, dan butang Muat Turun membungkus hasil sebagai fail .min.json yang 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.stringify tulen 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.