Escape JSON
Trasforma qualsiasi testo o JSON in una stringa JSON valida, direttamente nel browser. Gestisce virgolette, a capo, tabulazioni, Unicode e barre. 100% privato, nessun caricamento, istantaneo.
Opzioni
Cos'è l'escape JSON?
L'escape JSON è il processo di conversione di una stringa grezza in una forma sicura da incorporare dentro un documento JSON. JSON ha un piccolo insieme di caratteri che hanno un significato strutturale — la virgoletta doppia delimita le stringhe, la barra rovesciata inizia una sequenza di escape — più i caratteri di controllo (a capo, tabulazioni) che non possono comparire letteralmente dentro una stringa. L'escape sostituisce ciascuno di questi con una sequenza sicura di due caratteri (\", \\, \n, \t) o con un escape Unicode \uXXXX, così la stringa risultante viene interpretata senza problemi ovunque.
L'escape JSON serve più spesso di quanto si pensi. Il caso più comune è JSON-in-JSON: la busta di un webhook, il payload di una coda di messaggi o un log di audit memorizza il corpo di una richiesta come campo stringa, il che significa che il JSON interno deve essere sottoposto a escape prima di poter essere assegnato. Un altro è scrivere a mano la configurazione JSON: incollare uno script shell multilinea, una query SQL o uno snippet di codice in un singolo valore JSON richiede di trasformare ogni a capo in \n. Un terzo è costruire a mano i corpi delle richieste REST in strumenti come curl, dove una stringa JSON tra virgolette deve essere sottoposta a escape per sopravvivere alla shell e al livello HTTP.
Questo strumento ha tre punti di forza rispetto a un escaper ingenuo. Primo, si basa sulle regole esatte della specifica JSON — la stessa logica usata da un serializzatore conforme — quindi l'output fa un round-trip senza perdite: fai l'escape qui, fai il parsing ovunque, riottieni i tuoi byte. Secondo, la modalità ASCII-safe opzionale converte ogni carattere non ASCII (incluse le emoji astrali, gestite come coppie surrogate) in \uXXXX per i sistemi a cui non ci si può affidare con l'UTF-8. Terzo, tutto gira al 100% nel tuo browser — i tuoi payload, che spesso contengono dati personali, token e segreti, non toccano mai un server. Per invertire il processo, usa il nostro strumento Unescape JSON; per validare prima il JSON, vedi il Formattatore JSON.
// 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}"} Caratteristiche principali
Escape conforme alla specifica
Si basa sulle regole esatte della specifica JSON — virgolette, barre rovesciate, a capo, tabulazioni, ritorni a capo e caratteri di controllo vengono sottoposti a escape in modo identico a un serializzatore conforme. L'output fa un round-trip senza perdite attraverso qualsiasi parser JSON.
Output con o senza virgolette
Racchiudi tra virgolette doppie attivo dà una stringa JSON completa (uguale a JSON.stringify); disattivo dà solo il corpo sottoposto a escape, per quando sei tu a scrivere le virgolette in un documento JSON redatto a mano.
Modalità ASCII-safe \uXXXX
Converti facoltativamente ogni carattere oltre U+007F in un escape Unicode, con i caratteri astrali come le emoji gestiti come coppie surrogate corrette. L'output è puro ASCII, sicuro per le pipeline legacy che gestiscono male l'UTF-8.
Escape della barra sicuro per HTML
Escape della barra trasforma / in \/, neutralizzando la sequenza </script> così il JSON può essere inserito dentro un tag HTML <script> senza chiuderlo prematuramente. Disattivato per impostazione predefinita per un output pulito ovunque altrove.
Inverti per verificare il round-trip
Un solo pulsante Inverti direzione passa alla modalità unescape sul posto e reimmette l'output come input, così puoi confermare che escape → unescape restituisca il testo originale byte per byte prima di rilasciarlo.
Privacy 100% nel browser
Tutto l'escape gira lato client — i tuoi payload (dati personali, token, segreti) non lasciano mai il browser. Verificalo nella scheda Rete: zero richieste quando incolli. L'unico modo sicuro per fare l'escape di dati sensibili in uno strumento online.
Esempi
Incorporare JSON dentro JSON (JSON-in-JSON)
{"event":"signup","user":{"id":42,"name":"Alice"}} Fai l'escape di questo oggetto così che possa vivere come valore stringa dentro un altro documento JSON — ad esempio un campo del payload di un webhook o la busta di un messaggio Kafka. Con l'opzione Racchiudi attiva, l'output è pronto da incollare subito dopo i due punti.
Snippet di codice multilinea in un campo di configurazione
function greet(name) {
return `Hello, ${name}!`;
} Trasforma una funzione JS multilinea in una stringa JSON su una sola riga. Gli a capo diventano \n e il template con i backtick resta intatto — incollalo come valore di configurazione JSON senza rompere il file.
Testo con virgolette e tabulazioni
She said "hello" then left.
Le virgolette doppie diventano \" e la tabulazione diventa \t, così la stringa è sicura da inserire in qualsiasi parser JSON, riga di log o corpo di una richiesta REST.
Output ASCII-safe per sistemi legacy
Price: 9.99€ — café société
Attiva Escape dei caratteri non ASCII per convertire € e le lettere accentate in \uXXXX. Il risultato è puro ASCII, sicuro per i sistemi che alterano l'UTF-8 durante il trasferimento.
Come si usa
- 1
Incolla il tuo testo o JSON
Inserisci o incolla qualsiasi cosa nel campo di input — un oggetto JSON, uno snippet di codice, una riga di log o testo semplice. Il risultato sottoposto a escape appare all'istante. Fai clic su 'Carica esempio' per provare un campione come un payload JSON-in-JSON o una funzione multilinea.
- 2
Scegli le opzioni di escape
Lascia attivo 'Racchiudi tra virgolette doppie' per una stringa JSON completa (uguale a JSON.stringify), oppure disattivalo per ottenere solo il corpo sottoposto a escape. Attiva 'Escape dei caratteri non ASCII' per un output \uXXXX di puro ASCII e 'Escape della barra' quando inserisci JSON dentro un tag HTML <script>.
- 3
Copia la stringa sottoposta a escape
Fai clic su Copia per prendere il risultato, pronto da incollare in un documento JSON, nel corpo di una richiesta REST o in un file di configurazione. Fai clic su Inverti direzione per passare alla modalità unescape e verificare un round-trip senza perdite.
Errori comuni nell'escape
Doppio escape (fare l'escape di testo già sottoposto a escape)
Eseguire l'escape due volte trasforma \n in \\n e \" in \\\", quindi il consumatore vede una barra rovesciata letterale seguita da n invece di un a capo. Di solito accade quando il testo era già stato sottoposto a escape a monte. Fai prima l'unescape (Inverti direzione) per controllare, poi fai l'escape esattamente una volta.
Input already escaped: line1\nline2 Escaped again -> line1\\nline2 (literal backslash-n)
Raw input: line1 line2 Escaped once -> line1\nline2 (real newline encoded)
Dimenticare le virgolette circostanti
Con Racchiudi disattivo ottieni solo il corpo sottoposto a escape, non una stringa JSON completa. Incollarlo direttamente dove ci si aspetta un valore produce JSON non valido perché mancano le virgolette. O tieni Racchiudi attivo, o assicurati di scrivere tu stesso le virgolette.
{"msg": hello \"world\"}
// Missing quotes around the value -> invalid JSON {"msg": "hello \"world\""}
// Wrap on supplies the quotes -> valid JSON Escape non necessario dei caratteri non ASCII
Attivare Escape dei caratteri non ASCII quando il consumatore gestisce bene l'UTF-8 non fa che gonfiare l'output e peggiorare la leggibilità — café diventa caf\u00e9 senza motivo. Lascia l'opzione disattivata salvo che uno specifico sistema legacy richieda puro ASCII.
café -> caf\u00e9 (no downstream need; just noise)
café -> café (valid JSON, readable, smaller)
Casi d'uso comuni
- Payload di webhook JSON-in-JSON
- Fai l'escape del corpo di una richiesta così che possa essere memorizzato come campo stringa dentro la busta di un webhook, un messaggio Kafka o un log di audit. Tieni Racchiudi attivo e l'output è pronto da assegnare a una chiave del documento esterno.
- Snippet multilinea nella configurazione
- Trasforma uno script shell multilinea, una query SQL o uno snippet di codice in un singolo valore stringa JSON. Ogni a capo diventa \n così il file di configurazione JSON resta valido su una sola riga.
- Corpi di richieste REST scritti a mano
- Fai l'escape di una stringa JSON prima di inserirla in un argomento curl --data o in un client HTTP, così virgolette e a capo sopravvivono alla shell e al transito senza rompere la richiesta.
- Codifica di stringhe sicura per i log
- Fai l'escape del contenuto fornito dall'utente prima di scriverlo in una riga di log strutturata, impedendo che virgolette o a capo iniettati corrompano il formato del log o un parser di log JSON a valle.
- Integrazioni legacy solo ASCII
- Produci un output \uXXXX di puro ASCII per gateway SOAP, intestazioni di email o sistemi più vecchi che alterano l'UTF-8 durante il transito, rimanendo comunque pienamente decodificabile da qualsiasi parser JSON moderno.
- Inserimento di JSON dentro HTML
- Fai l'escape delle barre così che un blob JSON possa essere incorporato direttamente dentro un tag <script> per pagine renderizzate sul server, senza che un </script> nei dati chiuda il tag in anticipo.
Dettagli tecnici
- Algoritmo di escape
- Lo strumento serializza il tuo input con le regole delle stringhe della specifica JSON: U+0022 (") → \", U+005C (\) → \\, U+0008 → \b, U+000C → \f, U+000A → \n, U+000D → \r, U+0009 → \t e qualsiasi altro carattere sotto U+0020 → \u00XX. Con Racchiudi attivo, le virgolette doppie circostanti sono incluse; con l'opzione disattivata vengono rimosse. Questo corrisponde esattamente all'output di un serializzatore conforme, garantendo round-trip senza perdite.
- Unicode e coppie surrogate
- Per impostazione predefinita, i caratteri oltre U+007F vengono emessi come UTF-8 letterale, cosa che JSON consente. Con Escape dei caratteri non ASCII attivo, ogni carattere di questo tipo viene convertito in \uXXXX usando la sua unità di codice UTF-16; i caratteri fuori dal Basic Multilingual Plane (emoji, scritture rare) sono codificati come una coppia surrogata di due escape \uXXXX — ad esempio 😀 (U+1F600) diventa \ud83d\ude00, la stessa rappresentazione prodotta da un serializzatore JSON.
- Barra e contesto HTML
- JSON non richiede l'escape di /, quindi per impostazione predefinita viene preservata. Quando Escape della barra è attivo, ogni / diventa \/. L'unico motivo pratico per farlo è l'incorporamento in HTML: dentro un tag <script>, la sottostringa letterale </script> chiude il tag indipendentemente dal contesto JSON, quindi fare l'escape della barra in <\/script> mantiene intatto il JSON inserito rimanendo valido secondo la specifica.
Buone pratiche
- Tieni Racchiudi attivo per stringhe complete
- Quando ti serve un valore da assegnare nel codice o da incollare dopo i due punti in JSON, tieni attivo Racchiudi tra virgolette doppie — l'output è una stringa JSON completa e analizzabile, identica a JSON.stringify. Disattivalo solo quando scrivi tu stesso le virgolette circostanti.
- Lascia disattivato l'escape Unicode salvo necessità
- L'UTF-8 grezzo è JSON valido e molto più leggibile. Attiva Escape dei caratteri non ASCII solo per uno specifico sistema a valle che gestisce male l'UTF-8 (SOAP legacy, alcune pipeline di log, file sorgente solo ASCII). Fare l'escape di tutto per impostazione predefinita rende solo l'output più rumoroso.
- Fai l'escape delle barre solo per l'incorporamento HTML
- L'escape della barra conta in un solo caso: JSON inserito in un tag HTML <script>. Fuori da quel contesto aggiunge disordine senza alcun vantaggio, quindi lascialo disattivato per i corpi REST, i file di configurazione e i payload dei messaggi.
- Verifica i round-trip con Inverti
- Prima di rilasciare dati sottoposti a escape in una pipeline, fai clic su Inverti direzione per farne l'unescape e confermare che riottieni il testo originale. Questo intercetta il doppio escape accidentale — una fonte frequente di \\n che compare dove era inteso \n. Inverti in qualsiasi momento con il nostro strumento Unescape JSON.
Domande frequenti
Cosa fa questo strumento di escape JSON?
Qual è la differenza tra escape JSON e stringify JSON?
I miei dati vengono caricati da qualche parte?
Quando mi serve l'opzione \uXXXX (escape dei caratteri non ASCII)?
Come incorporo un oggetto JSON dentro un'altra stringa JSON (JSON-in-JSON)?
Cosa fa l'opzione Escape della barra (\/)?
Gestisce correttamente a capo, tabulazioni e caratteri di controllo?
Strumenti correlati
Vedi tutti gli strumenti →Decodificatore e codificatore Base64
Codifica e formattazione
Decodifica e codifica Base64 online gratis. Conversione in tempo reale con pieno supporto UTF-8 ed emoji. 100% privato — gira nel tuo browser. Nessuna registrazione.
Convertitore da Base64 a immagine
Codifica e formattazione
Decodifica una stringa Base64 o un data URI in un'immagine nel tuo browser. Anteprima, dimensioni e MIME, poi scarica come PNG, JPG, GIF, SVG. Nessun upload.
Convertitore CSV in JSON
Codifica e formattazione
Converti CSV in JSON nel browser. RFC 4180, inferenza tipi, riga header, sicuro per big-int. 100% privato, nessun upload.
Convertitore da HTML a Markdown
Codifica e formattazione
Converti HTML in Markdown pulito nel tuo browser — tabelle GFM, elenchi di attività e link. Scegli titoli ATX/Setext e link inline o di riferimento. Ottimo per migrare contenuti o alimentare gli LLM. 100% privato.
Convertitore da immagine a Base64
Codifica e formattazione
Converti immagini in data URI Base64 nel tuo browser — PNG, JPG, GIF, WebP, SVG, ICO. Copia l'output HTML, CSS, Markdown e JSON. 100% privato, nessun upload.
JSON Diff (Confronta)
Codifica e formattazione
Confronta due file JSON istantaneamente nel browser. Evidenziazione affiancata, output JSON Patch RFC 6902, ignora campi rumorosi come timestamp e ID. 100% privato, nessun upload.