Vai al contenuto
jsonbeautifiers
Italiano
V8 Verificato eseguendo il parser su Node v24.15.0, V8 13.6.233.17.

Bad escaped character in JSON at position N (line L column C)

JSON ammette esattamente nove sequenze di escape: \" \\ \/ \b \f \n \r \t e \uXXXX. Qualsiasi altra cosa dopo un backslash è un errore. Un backslash singolo in un percorso Windows ne è quasi sempre la causa, perché \U, \P e \D non sono escape.

Incolla il tuo JSON e vedi esattamente dove si rompe

Input

Nulla di ciò che incolli lascia il tuo browser. L’allowlist connect-src ne fa una garanzia del browser anziché una promessa. Verificalo tu stesso

Che cosa lo provoca davvero

In ordine di quanto spesso ciascuno si rivela essere la risposta.

  1. 01 Un percorso di file Windows con backslash singoli

    È la causa dominante. Ogni backslash dentro una stringa JSON va raddoppiato. Anche le barre normali funzionano su Windows nella maggior parte dei contesti ed evitano del tutto il problema.

    Si rompe

    { "path": "C:\Users\priya\config.json" }

    Funziona

    { "path": "C:\\Users\\priya\\config.json" }
  2. 02 Un escape esadecimale preso in prestito da un altro linguaggio

    JSON non ha l’escape \x. C, Python e JavaScript accettano tutti \x41 per la lettera A; JSON richiede \u0041.

    Si rompe

    { "c": "\x41" }

    Funziona

    { "c": "\u0041" }
  3. 03 Un’espressione regolare incollata dentro una stringa

    Pattern come \d, \s e \w non sono escape JSON. Ogni backslash del pattern va raddoppiato prima di finire dentro una stringa JSON.

    Si rompe

    { "pattern": "^\d{3}-\d{4}$" }

    Funziona

    { "pattern": "^\\d{3}-\\d{4}$" }
  4. 04 Un escape per l’apice singolo

    \' è valido in JavaScript e in JSON5 ma non in JSON. Dentro una stringa tra virgolette doppie un apostrofo non richiede alcun escape.

Lo stesso errore in altri runtime

Il problema di fondo è identico; cambia solo la formulazione. Se un collega segnala uno di questi messaggi, sta guardando esattamente la stessa cosa che vedi tu.

Python Invalid \escape: line 1 column 9 (char 8)

Domande frequenti

Perché la mia stringa Python sembra giusta e fallisce comunque?
Perché il backslash viene consumato due volte: una dal literal di stringa Python e una da JSON. Usa una raw string per il literal, oppure costruisci l’oggetto e chiama json.dumps invece di scrivere JSON a mano.
\/ è davvero ammesso?
Sì. Fare l’escape di una barra è facoltativo in JSON ed entrambe le forme indicano lo stesso carattere. Esiste perché il JSON possa essere incorporato in sicurezza dentro un tag script in HTML, dove la sequenza </ chiuderebbe l’elemento.

Risolvilo adesso

Incolla il payload nello strumento qui sopra, oppure vai direttamente a quello creato per questo compito.

Esegui l’escape di una stringa