Correggere l’errore di parse JSON: Expected Property Name

Questo errore di solito significa che il parser è arrivato a una chiave di oggetto non valida in JSON: una chiave senza virgolette, un commento, una virgola finale o sintassi JavaScript dentro JSON stretto.

Cosa significa l’errore

I membri di un oggetto JSON devono iniziare sempre con un nome di proprietà tra virgolette doppie. Quando un parser dice expected property name o expected property name or '}' di solito si trova subito dopo una parentesi di apertura o una virgola e si aspetta una chiave come "name". Se vede name, // commento, /* commento */ o una parentesi di chiusura dopo una virgola finale, si ferma — quei pattern appartengono a JavaScript, non a JSON strict.

Cause più comuni

Il modo più rapido per fare debug è guardare il carattere alla riga e colonna riportate e poi il token immediatamente precedente. La maggior parte dei casi arriva da uno di quattro piccoli errori.

  • Chiavi di oggetto senza virgolette, es. { name: "Ada" }
  • Chiavi o stringhe con apici singoli, es. { 'name': 'Ada' }
  • Commenti copiati da file JavaScript o JSONC
  • Una virgola finale prima di } o ]

Esempio errato

{ name: 'Ada', active: true, // copied from a JS object }

JSON corretto

{ "name": "Ada", "active": true }

Checklist di riparazione

Metti tra virgolette doppie ogni chiave, converti le stringhe con apici singoli in virgolette doppie, rimuovi i commenti, togli le virgole finali e assicurati che booleani e null siano in minuscolo. Dopo la riparazione, esegui una validazione strict prima di salvare il valore in un file di configurazione, mandarlo a una API o incollarlo in una migrazione di database.

Quando la riparazione automatica è sicura

La riparazione automatica è sicura come pulizia sintattica quando l’intento è chiaro. Non trattarla come validazione di business. Se nome di chiave, numero, data o enum possono essere ambigui, prima ripara la sintassi, poi confronta l’output con il sistema sorgente o lo schema API.