JSON Escape
Escape teks atau JSON apa pun menjadi literal string JSON yang valid di browser Anda. Menangani tanda kutip, baris baru, tab, Unicode, dan garis miring. 100% privat, tanpa unggah, instan.
Opsi
Apa itu JSON Escaping?
JSON escaping adalah proses mengubah string mentah menjadi bentuk yang aman untuk disematkan di dalam dokumen JSON. JSON memiliki sekumpulan kecil karakter yang membawa makna struktural — tanda kutip ganda membatasi string, garis miring terbalik memulai urutan escape — ditambah karakter kontrol (baris baru, tab) yang tidak boleh muncul secara harfiah di dalam string. Escaping menggantikan masing-masing dengan urutan dua karakter yang aman (\", \\, \n, \t) atau escape Unicode \uXXXX, sehingga string yang dihasilkan ter-parse dengan rapi di mana pun.
Anda membutuhkan JSON escaping lebih sering daripada yang Anda kira. Kasus paling umum adalah JSON-in-JSON: amplop webhook, payload antrean pesan, atau log audit menyimpan body permintaan sebagai field string, yang berarti JSON dalam harus di-escape sebelum dapat ditetapkan. Lainnya adalah menulis konfigurasi JSON secara manual: menempel skrip shell multibaris, kueri SQL, atau cuplikan kode ke dalam satu nilai JSON memerlukan pengubahan setiap baris baru menjadi \n. Yang ketiga adalah membangun body permintaan REST secara manual di alat seperti curl, di mana string JSON berkutip harus di-escape agar bertahan melewati shell dan lapisan HTTP.
Alat ini memiliki tiga pembeda dibandingkan pen-escape naif. Pertama, dibangun di atas aturan spesifikasi JSON yang persis — logika yang sama yang digunakan serializer yang patuh — sehingga keluaran melakukan round-trip tanpa kehilangan data: escape di sini, parse di mana pun, dapatkan byte Anda kembali. Kedua, mode aman-ASCII opsional mengubah setiap karakter non-ASCII (termasuk emoji astral, ditangani sebagai pasangan surrogate) menjadi \uXXXX untuk sistem yang tidak dapat dipercaya dengan UTF-8. Ketiga, semuanya berjalan 100% di browser Anda — payload Anda, yang sering berisi PII, token, dan rahasia, tidak pernah menyentuh server. Untuk membalikkan proses, gunakan alat JSON Unescape kami; untuk memvalidasi JSON terlebih dahulu, lihat JSON Formatter.
// Input text
She said "hi"
then left.
// Escaped (Wrap on) — identical to JSON.stringify(input)
"She said \"hi\"\nthen left."
// Escaped (Wrap off) — just the body, for hand-built JSON
She said \"hi\"\nthen left.
// JSON-in-JSON
{"a":1} -> "{\"a\":1}" -> {"payload": "{\"a\":1}"} Fitur Utama
Escape Akurat Sesuai Spesifikasi
Dibangun di atas aturan persis spesifikasi JSON — tanda kutip, garis miring terbalik, baris baru, tab, carriage return, dan karakter kontrol di-escape identik dengan serializer yang patuh. Keluaran melakukan round-trip tanpa kehilangan data melalui parser JSON mana pun.
Keluaran Berkutip atau Tanpa Kutip
Bungkus dalam tanda kutip ganda aktif memberi literal string JSON lengkap (sama seperti JSON.stringify); nonaktif memberi hanya body ter-escape untuk saat Anda mengetik tanda kutipnya sendiri di dokumen JSON yang ditulis manual.
Mode Aman-ASCII \uXXXX
Secara opsional ubah setiap karakter di atas U+007F menjadi escape Unicode, dengan karakter astral seperti emoji ditangani sebagai pasangan surrogate yang benar. Keluarannya murni ASCII, aman untuk pipeline lawas yang salah menangani UTF-8.
Escape Garis Miring Aman-HTML
Escape garis miring mengubah / menjadi \/, menetralkan urutan </script> sehingga JSON dapat disisipkan di dalam tag HTML <script> tanpa menutupnya sebelum waktunya. Nonaktif secara default demi keluaran bersih di tempat lain.
Tukar untuk Verifikasi Round-Trip
Satu tombol Tukar arah membalik ke mode unescape di tempat dan mengumpankan keluaran kembali sebagai input, sehingga Anda dapat memastikan escape → unescape mengembalikan teks asli Anda byte per byte sebelum mengirimkannya.
Privasi 100% Berbasis Browser
Semua proses escape berjalan di sisi klien — payload Anda (PII, token, rahasia) tidak pernah meninggalkan browser. Verifikasi di tab Network: nol permintaan saat menempel. Satu-satunya cara aman untuk meng-escape data sensitif di alat online.
Contoh
Menyematkan JSON di dalam JSON (JSON-in-JSON)
{"event":"signup","user":{"id":42,"name":"Alice"}} Escape objek ini agar dapat disimpan sebagai nilai string di dalam dokumen JSON lain — misalnya sebuah field payload webhook atau amplop pesan Kafka. Dengan Bungkus aktif, keluarannya siap ditempel langsung setelah tanda titik dua.
Cuplikan kode multibaris ke dalam field konfigurasi
function greet(name) {
return `Hello, ${name}!`;
} Ubah fungsi JS multibaris menjadi satu baris string JSON. Baris baru menjadi \n dan templat backtick tetap utuh — tempel ke dalam nilai konfigurasi JSON tanpa merusak file.
Teks dengan tanda kutip dan tab
She said "hello" then left.
Tanda kutip ganda di-escape menjadi \" dan tab menjadi \t, sehingga string aman untuk dimasukkan ke parser JSON, baris log, atau body permintaan REST mana pun.
Keluaran aman-ASCII untuk sistem lawas
Price: 9.99€ — café société
Aktifkan Escape non-ASCII untuk mengubah € dan huruf beraksen menjadi \uXXXX. Hasilnya murni ASCII, aman untuk sistem yang merusak UTF-8 saat transit.
Cara Menggunakan
- 1
Tempel teks atau JSON Anda
Masukkan atau tempel apa saja ke field input — objek JSON, cuplikan kode, baris log, atau teks biasa. Hasil ter-escape muncul seketika. Klik 'Muat contoh' untuk mencoba sampel seperti payload JSON-in-JSON atau fungsi multibaris.
- 2
Pilih opsi escape
Biarkan 'Bungkus dalam tanda kutip ganda' aktif untuk literal string JSON lengkap (sama seperti JSON.stringify), atau nonaktif untuk hanya mendapatkan body ter-escape. Aktifkan 'Escape non-ASCII' untuk keluaran \uXXXX murni-ASCII, dan 'Escape garis miring' saat menyisipkan JSON ke tag HTML <script>.
- 3
Salin string ter-escape
Klik Salin untuk mengambil hasil, siap ditempel ke dokumen JSON, body permintaan REST, atau file konfigurasi. Klik Tukar arah untuk membalik ke mode unescape dan memverifikasi round-trip tanpa kehilangan data.
Jebakan Escape yang Umum
Escape Ganda (meng-escape teks yang sudah ter-escape)
Menjalankan escape dua kali mengubah \n menjadi \\n dan \" menjadi \\\", sehingga konsumen melihat garis miring terbalik-n harfiah alih-alih baris baru. Ini biasanya terjadi saat teks sudah di-JSON-escape di hulu. Unescape dulu (Tukar arah) untuk memeriksa, lalu escape tepat sekali.
Input sudah ter-escape: line1\nline2 Di-escape lagi -> line1\\nline2 (garis miring terbalik-n harfiah)
Input mentah: line1 line2 Di-escape sekali -> line1\nline2 (baris baru asli tersandi)
Lupa Tanda Kutip di Sekelilingnya
Dengan Bungkus nonaktif Anda hanya mendapatkan body ter-escape, bukan string JSON lengkap. Menempelnya langsung di tempat sebuah nilai diharapkan menghasilkan JSON tidak valid karena tanda kutip hilang. Biarkan Bungkus aktif, atau pastikan Anda mengetik tanda kutipnya sendiri.
{"msg": hello \"world\"}
// Tanda kutip di sekeliling nilai hilang -> JSON tidak valid {"msg": "hello \"world\""}
// Bungkus aktif menyediakan tanda kutip -> JSON valid Over-Escape Non-ASCII Tanpa Perlu
Mengaktifkan Escape non-ASCII saat konsumen menangani UTF-8 dengan baik hanya membengkakkan keluaran dan menurunkan keterbacaan — café menjadi caf\u00e9 tanpa alasan. Biarkan opsi nonaktif kecuali sistem lawas tertentu memerlukan murni ASCII.
café -> caf\u00e9 (tak ada kebutuhan hilir; hanya kebisingan)
café -> café (JSON valid, terbaca, lebih kecil)
Kasus Penggunaan Umum
- Payload Webhook JSON-in-JSON
- Escape body permintaan agar dapat disimpan sebagai field string di dalam amplop webhook, pesan Kafka, atau log audit. Biarkan Bungkus aktif dan keluarannya siap ditetapkan ke sebuah kunci di dokumen luar.
- Cuplikan Multibaris dalam Konfigurasi
- Ubah skrip shell multibaris, kueri SQL, atau cuplikan kode menjadi satu nilai string JSON. Setiap baris baru menjadi \n sehingga file konfigurasi JSON tetap valid dalam satu baris.
- Body Permintaan REST yang Dibangun Manual
- Escape string JSON sebelum memasukkannya ke argumen curl --data atau klien HTTP, sehingga tanda kutip dan baris baru bertahan melewati shell dan jaringan tanpa merusak permintaan.
- Penyandian String Aman-Log
- Escape konten yang dipasok pengguna sebelum menulisnya ke baris log terstruktur, mencegah tanda kutip atau baris baru yang disuntikkan merusak format log atau parser log JSON hilir.
- Integrasi Lawas Khusus-ASCII
- Hasilkan keluaran \uXXXX murni-ASCII untuk gateway SOAP, header email, atau sistem lama yang merusak UTF-8 saat transit, sambil tetap sepenuhnya dapat terdekode oleh parser JSON modern mana pun.
- Menyisipkan JSON ke dalam HTML
- Escape garis miring sehingga blob JSON dapat disematkan langsung di dalam tag <script> untuk halaman yang dirender server, tanpa </script> di dalam data menutup tag lebih awal.
Detail Teknis
- Algoritma Escape
- Alat menserialisasi input Anda dengan aturan string spesifikasi JSON: U+0022 (") → \", U+005C (\) → \\, U+0008 → \b, U+000C → \f, U+000A → \n, U+000D → \r, U+0009 → \t, dan karakter lain di bawah U+0020 → \u00XX. Dengan Bungkus aktif, tanda kutip ganda di sekelilingnya disertakan; dengan nonaktif, dihilangkan. Ini sama persis dengan keluaran serializer yang patuh, menjamin round-trip tanpa kehilangan data.
- Unicode dan Pasangan Surrogate
- Secara default, karakter di atas U+007F dikeluarkan sebagai UTF-8 harfiah, yang diizinkan JSON. Dengan Escape non-ASCII aktif, setiap karakter tersebut diubah menjadi \uXXXX menggunakan unit kode UTF-16-nya; karakter di luar Basic Multilingual Plane (emoji, aksara langka) disandikan sebagai pasangan surrogate dari dua escape \uXXXX — misalnya 😀 (U+1F600) menjadi \ud83d\ude00, representasi yang sama dengan yang dihasilkan serializer JSON.
- Garis Miring dan Konteks HTML
- JSON tidak memerlukan escape pada /, jadi dipertahankan secara default. Ketika Escape garis miring diaktifkan, setiap / menjadi \/. Satu-satunya alasan praktis melakukannya adalah penyematan HTML: di dalam tag <script>, substring harfiah </script> menutup tag terlepas dari konteks JSON, jadi meng-escape garis miring menjadi <\/script> menjaga JSON yang disisipkan tetap utuh sambil tetap valid menurut spesifikasi.
Praktik Terbaik
- Biarkan Bungkus Aktif untuk Literal Lengkap
- Saat Anda butuh nilai untuk ditetapkan dalam kode atau ditempel setelah titik dua di JSON, biarkan Bungkus dalam tanda kutip ganda aktif — keluarannya adalah string JSON lengkap yang dapat di-parse, identik dengan JSON.stringify. Nonaktifkan hanya saat Anda mengetik sendiri tanda kutip di sekelilingnya.
- Biarkan Escape Unicode Nonaktif Kecuali Diperlukan
- UTF-8 mentah adalah JSON valid dan jauh lebih mudah dibaca. Aktifkan Escape non-ASCII hanya untuk sistem hilir tertentu yang salah menangani UTF-8 (SOAP lawas, beberapa pipeline log, file sumber khusus-ASCII). Meng-escape semuanya secara default hanya membuat keluaran lebih berisik.
- Hanya Escape Garis Miring untuk Penyematan HTML
- Escape garis miring penting di tepat satu tempat: JSON yang disisipkan di tag HTML <script>. Di luar konteks itu ia menambah kekacauan tanpa manfaat, jadi biarkan nonaktif untuk body REST, file konfigurasi, dan payload pesan.
- Verifikasi Round-Trip dengan Tukar
- Sebelum mengirim data ter-escape ke pipeline, klik Tukar arah untuk meng-unescape-nya dan memastikan Anda mendapatkan teks asli kembali. Ini menangkap escape ganda tak sengaja — sumber sering munculnya \\n di tempat \n dimaksudkan. Balik kapan saja dengan alat JSON Unescape kami.
Pertanyaan yang Sering Diajukan
Apa yang dilakukan alat JSON escape ini?
Apa perbedaan antara JSON escape dan JSON stringify?
Apakah data saya diunggah ke suatu tempat?
Kapan saya perlu opsi \uXXXX (escape non-ASCII)?
Bagaimana cara menyematkan objek JSON di dalam string JSON lain (JSON-in-JSON)?
Apa fungsi opsi Escape garis miring (\/)?
Apakah alat menangani baris baru, tab, dan karakter kontrol dengan benar?
Alat Terkait
Lihat semua alat →Decode & Encode Base64 Online — Konversi Instan di Browser
Encoding & Pemformatan
Decode dan encode Base64 online gratis. Konversi real-time dengan dukungan UTF-8 dan emoji. 100% privat di browser Anda. Tanpa pendaftaran.
Konverter Base64 ke Gambar
Encoding & Pemformatan
Decode string Base64 atau data URI kembali menjadi gambar di browser. Pratinjau, baca dimensi & MIME, lalu unduh sebagai PNG, JPG, GIF, SVG. Tanpa upload.
Konverter CSV ke JSON
Encoding & Pemformatan
Konversi CSV ke JSON di browser. RFC 4180, infer tipe, baris header, aman big-int. 100% privat, tanpa unggah.
Konverter HTML ke Markdown
Encoding & Pemformatan
Konversi HTML menjadi Markdown bersih di browser Anda — tabel GFM, daftar tugas, tautan. Pilih heading ATX/Setext serta tautan inline atau reference. Cocok untuk migrasi konten web atau memberi makan LLM. 100% privat.
Konverter Gambar ke Base64
Encoding & Pemformatan
Konversi gambar ke data URI Base64 di browser — PNG, JPG, GIF, WebP, SVG, ICO. Salin output HTML, CSS, Markdown & JSON. 100% privat, tanpa upload.
JSON Diff (Bandingkan)
Encoding & Pemformatan
Bandingkan dua file JSON langsung di browser Anda. Sorotan side-by-side, output RFC 6902 JSON Patch, abaikan field seperti timestamp dan ID. 100% privat, tanpa upload.