Vai al contenuto
jsonbeautifiers
Italiano
Python Verificato eseguendo il parser su CPython 3.14.3.

Expecting ',' delimiter: line L column C (char N)

Il parser si aspettava che il contenitore corrente proseguisse con una virgola. La parte confusa è che la posizione spesso indica un punto che sembra perfettamente a posto, perché l’errore vero è poco prima: quasi sempre una virgoletta che ha chiuso la stringa prima del previsto.

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 Una virgoletta doppia senza escape dentro una stringa

    La virgoletta interna chiude la stringa in anticipo, così il testo che segue viene letto come un nuovo token là dove ci si aspettava una virgola. La domanda più votata su Stack Overflow per questo errore si intitola letteralmente «Valid JSON giving JSONDecodeError», che riassume l’intera esperienza in una riga.

    Si rompe

    {"quote": "he said "yes" loudly"}

    Funziona

    {"quote": "he said \"yes\" loudly"}
  2. 02 Una virgola davvero mancante

    Tra due membri di un oggetto o due elementi di un array.

  3. 03 Un backslash isolato prima della virgoletta di chiusura

    Un percorso Windows che finisce con un backslash esegue l’escape della virgoletta, così la stringa prosegue e la virgola successiva non arriva mai dove il parser la aspetta.

  4. 04 Il file è troncato

    Se la posizione è la fine dell’input, il documento è stato tagliato anziché scritto male.

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.

JavaScript (V8) Expected ',' or '}' after property value in JSON at position N

Domande frequenti

Il JSON a me sembra corretto. Perché fallisce?
Guarda il carattere immediatamente prima della posizione segnalata, non la posizione stessa. Una stringa chiusa in anticipo resta invisibile finché non conti le virgolette. Incollare il documento in un validatore che colora le stringhe lo rende evidente in un secondo.
Come evito che succeda?
Non costruire mai JSON concatenando stringhe. Costruisci un dict e chiama json.dumps, che per costruzione esegue l’escape corretto di ogni valore.

Risolvilo adesso

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

Evidenzia le stringhe