Unterminated string in JSON at position N (line L column C)
Il parser ha letto una virgoletta doppia di apertura ed è arrivato alla fine dell’input senza trovare quella di chiusura. La posizione segnalata è il punto in cui la stringa è iniziata, perché è quello il posto utile: la virgoletta mancante, di suo, non ha una posizione.
Incolla il tuo JSON e vedi esattamente dove si rompe
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.
-
01 Una virgoletta doppia senza escape dentro il valore
La prima virgoletta interna chiude la stringa, e tutto ciò che segue manda in confusione il parser. È il caso del «il mio JSON sembra valido ma non lo è».
Si rompe
{ "note": "she said "hello"" }Funziona
{ "note": "she said \"hello\"" } -
02 Un backslash finale
Un percorso Windows che finisce con un backslash esegue l’escape della virgoletta di chiusura, così la stringa prosegue nel resto del documento.
Si rompe
{ "dir": "C:\logs\" }Funziona
{ "dir": "C:\\logs\\" } -
03 Una virgoletta davvero mancante
Facile da correggere una volta individuata, ed è proprio a questo che servono riga e colonna.
-
04 Il file è troncato a metà di una stringa
Una connessione caduta o un limite di dimensione che ha tagliato il documento in mezzo a un valore.
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 | Unterminated string starting at: line 1 column 6 (char 5) |
|---|
Domande frequenti
- Perché la posizione indica l’inizio della stringa?
- Perché è lì che il problema è diagnosticabile. Il parser si accorge che qualcosa non va solo quando finisce l’input, cosa che può accadere migliaia di caratteri più avanti. Indicare la virgoletta di apertura ti dice quale stringa guardare.
Risolvilo adesso
Incolla il payload nello strumento qui sopra, oppure vai direttamente a quello creato per questo compito.
Trova la stringa aperta