100 % locale — i tuoi dati non lasciano mai il tuo browser

Stringa JSON in testo — leggi il valore dentro

Decodifica un literal di stringa JSON in testo. Le virgolette attorno sono opzionali, e un rifiuto dice che cosa non va e dove, così puoi correggerlo.

Istantaneo Privato Zero cookie

Input JSON String

Output Text

Che cosa fa questo strumento

Un letterale di stringa JSON diventa il testo che rappresenta. "caf\u00e9" dà café, "due\nrighe" dà due righe, e "\ud83d\ude00" dà l’emoji: una coppia surrogata è un carattere, non due metà rotte.

Le virgolette sono facoltative

Funzionano entrambe le forme:

"caf\u00e9"
caf\u00e9

È una scelta. Una stringa JSON arriva di rado con le virgolette intatte: la copi da una riga di log, da un git diff, da uno stack trace, da un messaggio d’errore che ha citato solo l’interno. Pretendere le virgolette vorrebbe dire rimetterle a mano ogni volta.

Il prezzo è piccolo e va detto chiaramente: un input nudo che per caso è JSON valido di altro tipo — [1,2], null — viene letto come testo, perché è questo che significa qui un frammento nudo. Solo un input tra virgolette viene analizzato come letterale.

Un rifiuto dice che cosa e dove

Un input che non è una stringa JSON viene rifiutato anziché decodificato a metà, e il messaggio nomina la causa:

InputMessaggio
a"bUnescaped quotation mark at position 1: write it as \"
"ab\q"Unknown escape "\q" at position 3
"a\u12"Invalid \u escape at position 2: four hexadecimal digits expected
"abcThe opening quotation mark has no closing quotation mark
{"a":1}Expected a JSON string, found a JSON object

Le posizioni contano da zero e si riferiscono al testo che hai incollato, così il numero ti porta al carattere.

Vale la pena dirlo perché prima non era così: ognuno di questi casi produceva l’unico messaggio Invalid JSON string escape sequence. Un oggetto incollato non è un errore di escape, e sentirsi dire il contrario manda a cercare nel posto sbagliato. Era un difetto reale di questo strumento, trovato scrivendo questa pagina e corretto.

Nulla viene indovinato

Un escape sconosciuto è un errore, non un carattere. \q non è JSON valido, e decidere che «voleva probabilmente dire q» restituirebbe un testo sottilmente diverso da quello della sorgente: il genere di differenza che riaffiora tre sistemi più in là.

Privato per progettazione

Tutto viene eseguito localmente nel browser con JavaScript. I tuoi dati non vengono mai caricati, quindi lo strumento è sicuro per contenuti sensibili e funziona anche offline.

Domande frequenti

Devo includere le virgolette che la racchiudono?
No. Sono accettati sia un letterale tra virgolette sia un frammento nudo come `caf\u00e9`, perché spesso hai solo l’interno di una stringa: copiato da una riga di log, da un diff, da uno stack trace. Se le virgolette ci sono vengono usate; altrimenti vengono aggiunte.
Perché il mio oggetto JSON è stato rifiutato?
Perché questo strumento decodifica una stringa, non un documento. Incollare `{"a":1}` dà `Expected a JSON string, found a JSON object` invece di una lamentela confusa sugli escape. Per leggere un documento intero usa il formattatore o il validatore JSON.
Dice «Unescaped quotation mark at position 4». Che cosa significa?
Che il carattere 4 di ciò che hai incollato è una `"` che chiude la stringa troppo presto. Dentro una stringa JSON una virgoletta si scrive `\"`. Le posizioni contano da zero e si riferiscono al testo che hai digitato, così vai dritto al carattere invece di cercarlo.

Convertitori correlati