Cosa fa questo strumento
Passare da testo a stringa JSON significa scrivere il testo tra virgolette doppie, con alcuni caratteri preceduti da una barra rovesciata: una virgoletta doppia diventa \", una barra rovesciata diventa \\, un a capo diventa \n e una tabulazione diventa \t. Questo strumento prende il tuo testo e lo scrive come una stringa di questo tipo. È la stessa cosa che fa JSON.stringify in JavaScript quando gli passi una stringa.
Ti serve quando un documento JSON deve contenerne un altro, o un qualsiasi testo con virgolette e a capo, dentro un solo campo. Scrivere gli escape a mano è lento e si sbaglia facilmente. Basta una barra rovesciata dimenticata per rendere non valido l’intero payload.
Come si usa
- Incolla testo o JSON nel riquadro a sinistra, premi Apri file, oppure premi Esempio.
- La stringa con escape compare a destra mentre scrivi.
- Scegli le opzioni che ti servono:
- Compatta prima il JSON toglie la formattazione dal JSON valido prima dell’escape. È attiva di default.
- Tra virgolette aggiunge le virgolette doppie esterne. Disattivala se incolli il risultato in un punto che ha già le virgolette.
- Caratteri non ASCII come \u scrive lettere accentate, simboli e altri caratteri non ASCII come codici
\u.
- Premi Copia, oppure Scarica per salvare il risultato in un file di testo.
La riga sotto i riquadri ti dice se l’input era JSON valido e quanti caratteri ha il risultato.
Esempi
Testo semplice con una virgoletta e un a capo:
He said "hello"
then left.
diventa:
"He said \"hello\"\nthen left."
JSON formattato con Compatta prima il JSON attiva:
{
"name": "Ada",
"tags": ["admin", "dev"]
}
diventa:
"{\"name\":\"Ada\",\"tags\":[\"admin\",\"dev\"]}"
Con Compatta prima il JSON disattivata, il rientro viene mantenuto e trasformato in escape, quindi { seguito da un a capo e da "name": "Ada" diventa:
"{\n \"name\": \"Ada\"\n}"
Un percorso di Windows, in cui ogni barra rovesciata viene raddoppiata:
"C:\\Users\\Ada\\notes.txt"
Caratteri non ASCII
Il JSON ammette qualsiasi carattere Unicode dentro una stringa, quindi Café 東京 è valido così com’è:
"Café 東京"
Alcuni sistemi più vecchi, terminali o campi con limiti in byte accettano solo ASCII. Con Caratteri non ASCII come \u attiva, lo stesso testo diventa:
"Caf\u00e9 \u6771\u4eac"
Vale anche per le lettere accentate dell’italiano: Città, perché più diventa "Citt\u00e0, perch\u00e9 pi\u00f9". I caratteri fuori dal Basic Multilingual Plane, come la maggior parte delle emoji, vengono scritti con due codici (una coppia surrogata). L’emoji della faccina sorridente diventa "\ud83d\ude00". Qualsiasi parser JSON li riporta ai caratteri originali.
Senza le virgolette esterne
Disattiva Tra virgolette quando la stringa va in un modello, in un campo di un modulo o dentro una coppia di virgolette già presente. Il testo Tab seguito da una tabulazione e da here diventa allora:
Tab\there
Come funziona
Lo strumento usa il JSON.stringify del browser, quindi gli escape seguono esattamente lo standard JSON. Prima di questo, se Compatta prima il JSON è attiva e l’input inizia con { o [, prova a leggerlo come JSON. Se ci riesce, il JSON viene riscritto senza spazi, mantenendo i numeri esattamente come li hai scritti. Poi l’intero testo viene trasformato in una sola stringa. Niente viene inviato a un server.
Consigli e limiti
- Il risultato è una stringa JSON, non un template literal di JavaScript né una stringa della shell. Le shell e alcuni linguaggi richiedono le proprie virgolette in aggiunta.
- Se applichi di nuovo lo stringify al risultato, ottieni una stringa con doppio escape. A volte è proprio ciò che un’API si aspetta, ma di solito è il segno di un bug.
- Gli input molto grandi non sono un problema. Il lavoro avviene in locale e la velocità dipende dal tuo dispositivo.
Altri modi per farlo
JavaScript. JSON.stringify(text) restituisce la stringa con escape. Per inserire un oggetto, usa JSON.stringify(JSON.stringify(obj)).
Python. json.dumps(text) fa lo stesso con una stringa. Passa ensure_ascii=False per lasciare i caratteri non ASCII come sono, perché di default vengono trasformati in escape.
jq. jq -Rs . file.txt legge un intero file come testo grezzo e lo stampa come un’unica stringa JSON.
Strumenti correlati
Per riportare una stringa con escape a testo o JSON leggibile, usa lo strumento da stringa JSON a testo. Per controllare o formattare prima il JSON, usa il formattatore JSON. Per creare JSON da un foglio di calcolo, usa il convertitore da CSV a JSON.