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

Expected double-quoted property name in JSON at position N (line L column C)

Il parser ha letto una virgola dentro un oggetto e poi si aspettava un altro nome di proprietà, ma ha trovato la graffa di chiusura. In altre parole: c’è una virgola con nulla dopo. Il messaggio descrive ciò che il parser voleva anziché ciò che hai sbagliato, ed è per questo che la soluzione non si ricava dalla formulazione.

Potresti vederlo scritto anche così

  • trailing comma json error
  • trailing comma not allowed in json

V8 ha riscritto quasi tutti i suoi messaggi di errore JSON nel 2022. La formulazione più vecchia resta quella che mostrano quasi tutti i risultati di ricerca, ma nessun runtime attuale la emette.

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 virgola finale prima della graffa di chiusura

    Legale in JavaScript, in JSON5 e in JSONC. Non legale in JSON. Gli editor che riformattano automaticamente gli oggetti JavaScript le aggiungono senza avvisare.

    Si rompe

    {
      "name": "Priya",
      "role": "admin",
    }

    Funziona

    {
      "name": "Priya",
      "role": "admin"
    }
  2. 02 Due virgole di fila

    Di solito restano lì dopo aver cancellato una proprietà.

    Si rompe

    { "a": 1,, "b": 2 }

    Funziona

    { "a": 1, "b": 2 }
  3. 03 Un commento dove dovrebbe esserci un nome di proprietà

    JSON non ha commenti. Una riga // o un blocco /* */ dentro un oggetto produce esattamente questo messaggio, perché il parser si aspettava una chiave tra virgolette e ha trovato una barra.

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.

V8, trailing comma in an ARRAY Unexpected token ']', "[1,2,]" is not valid JSON
Python 3.13 and later Illegal trailing comma before end of object: line 1 column 7 (char 6)
Python 3.12 and earlier Expecting property name enclosed in double quotes: line 1 column 7 (char 6)

Domande frequenti

Perché il messaggio è diverso per gli array?
Perché il parser si trova in uno stato diverso. Dentro un oggetto aspetta una chiave tra virgolette, e lo dice. Dentro un array aspetta un valore e trova la parentesi di chiusura, il che dà Unexpected token ']', "[1,2,]" is not valid JSON. Stesso errore, due messaggi completamente diversi.
Python dava un errore diverso per questo. È cambiato?
Sì. Python 3.13 ha aggiunto messaggi dedicati: «Illegal trailing comma before end of object» e l’equivalente per gli array. Su 3.12 e precedenti lo stesso input dà «Expecting property name enclosed in double quotes». Qualsiasi guida che non distingua per versione è sbagliata per metà dei suoi lettori.
Il mio file di configurazione ha bisogno di commenti e virgole finali. Che opzioni ho?
Usa JSONC, quello che VS Code impiega per le proprie impostazioni e che ammette commenti e virgole finali, oppure JSON5, che ammette parecchio di più. Entrambi richiedono un parser che li supporti. Il nostro strumento di riparazione riconverte l’uno e l’altro in JSON stretto.

Risolvilo adesso

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

Rimuovila automaticamente