Aller au contenu
jsonbeautifiers
Français
V8 Vérifié en exécutant l’analyseur sur Node v24.15.0, V8 13.6.233.17.

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

Un document JSON contient exactement une valeur de premier niveau. L’analyseur en a lu une complète, puis a trouvé autre chose après. La position signalée est celle où commence le contenu excédentaire, c’est-à-dire en général le début du deuxième enregistrement.

Collez votre JSON et voyez exactement où il casse

Entrée

Rien de ce que vous collez ne quitte votre navigateur. La liste d’autorisation connect-src en fait une garantie du navigateur plutôt qu’une promesse. Vérifiez-le vous-même

Ce qui le provoque réellement

Classés selon la fréquence à laquelle chacun se révèle être la réponse.

  1. 01 L’entrée est du NDJSON ou du JSON Lines

    Une valeur JSON complète par ligne, sans virgules et sans tableau englobant. C’est le format utilisé par les chaînes de journalisation, les exports BigQuery, les opérations bulk d’Elasticsearch et les API de LLM en flux. Ce n’est pas du JSON cassé ; c’est un autre format, qui doit être lu ligne par ligne.

    Casse

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

    Fonctionne

    const records = text
      .split('\n')
      .filter((line) => line.trim())
      .map((line) => JSON.parse(line));
  2. 02 Deux réponses ont été concaténées

    Une nouvelle tentative qui a ajouté au lieu de remplacer, ou une lecture de flux qui a collé deux morceaux sans les séparer.

  3. 03 De la sortie de débogage a été ajoutée au corps

    Un print oublié, un avertissement affiché, ou une sortie de profilage écrite après le JSON. Le document s’analyse parfaitement jusqu’au point où le texte supplémentaire commence, exactement là où pointe la position.

  4. 04 La valeur est doublement encodée

    Une chaîne JSON contenant du JSON, déballée une fois de trop ou une fois de trop peu. Notre outil de déséchappement détecte combien de couches d’encodage porte une valeur.

La même erreur dans d’autres environnements

Le problème de fond est identique ; seule la formulation change. Si un collègue signale l’un de ces messages, il regarde exactement la même chose que vous.

Python Extra data: line 2 column 1 (char 8)
Firefox JSON.parse: unexpected non-whitespace character after JSON data

Questions fréquentes

Comment savoir si mon fichier est du NDJSON ?
Chaque ligne non vide s’analyse comme du JSON complet à elle seule, il n’y a pas de virgules entre les enregistrements, et pas de [ ] englobant. Collez-le dans notre validateur : il vous le dira et proposera d’encapsuler les enregistrements dans un tableau.
Puis-je simplement l’entourer de crochets et ajouter des virgules ?
Oui, et pour un petit fichier c’est la correction la plus rapide. Pour un gros fichier, le lire ligne par ligne consomme bien moins de mémoire, et c’est précisément la raison d’être du format.

Corrigez-le maintenant

Collez le payload dans l’outil ci-dessus, ou allez directement à celui conçu pour ce travail.

Convertir du NDJSON en JSON