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

Unexpected non-whitespace character after JSON at position N (line L column C)

Un documento JSON contiene esattamente un valore di primo livello. Il parser ne ha letto uno completo e poi ha trovato dell’altro. La posizione segnalata è il punto in cui inizia il contenuto in eccesso, che di solito è l’inizio del secondo record.

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 L’input è NDJSON o JSON Lines

    Un valore JSON completo per riga, senza virgole e senza array che li racchiude. È il formato usato da pipeline di log, esportazioni BigQuery, operazioni bulk di Elasticsearch e API di LLM in streaming. Non è JSON rotto: è un formato diverso, che va letto riga per riga.

    Si rompe

    {"event":"login"}
    {"event":"logout"}

    Funziona

    const records = text
      .split('\n')
      .filter((line) => line.trim())
      .map((line) => JSON.parse(line));
  2. 02 Due risposte sono state concatenate

    Un nuovo tentativo che ha aggiunto invece di sostituire, o una lettura di stream che ha unito due blocchi senza separarli.

  3. 03 È stato aggiunto output di debug al corpo

    Un print dimenticato, un warning stampato, o dell’output di profiling scritto dopo il JSON. Il documento si analizza perfettamente fino al punto in cui inizia il testo in più, che è esattamente dove punta la posizione.

  4. 04 Il valore è codificato due volte

    Una stringa JSON che contiene JSON, scartata una volta di meno o una di troppo. Il nostro strumento di unescape rileva quanti strati di codifica ha 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 Extra data: line 2 column 1 (char 8)
Firefox JSON.parse: unexpected non-whitespace character after JSON data

Domande frequenti

Come capisco se il mio file è NDJSON?
Ogni riga non vuota si analizza da sola come JSON completo, non ci sono virgole tra i record, e non c’è alcun [ ] che li racchiude. Incollalo nel nostro validatore: te lo dirà e ti proporrà di racchiudere i record in un array.
Non posso semplicemente metterci le parentesi quadre e le virgole?
Puoi, e per un file piccolo è la correzione più rapida. Per uno grande, leggerlo riga per riga usa molta meno memoria, ed è proprio il motivo per cui il formato esiste.

Risolvilo adesso

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

Converti NDJSON in JSON