Ir para o conteúdo
jsonbeautifiers
Português
V8 Verificado rodando o parser em Node v24.15.0, V8 13.6.233.17.

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

Um documento JSON contém exatamente um valor de nível superior. O parser leu um inteiro e depois encontrou outra coisa em seguida. A posição que ele reporta é onde o conteúdo extra começa, o que costuma ser o começo do segundo registro.

Cole o seu JSON e veja exatamente onde ele quebra

Entrada

Nada do que você cola sai do seu navegador. A lista de permissões connect-src transforma isso em uma garantia do navegador, e não em uma promessa. Confira você mesmo

O que realmente causa isso

Ordenados por quantas vezes cada um acaba sendo a resposta.

  1. 01 A entrada é NDJSON ou JSON Lines

    Um valor JSON completo por linha, sem vírgulas e sem array envolvendo. É o formato usado por pipelines de log, exportações do BigQuery, operações bulk do Elasticsearch e APIs de LLM em streaming. Não é JSON quebrado; é outro formato, que precisa ser lido linha a linha.

    Quebra

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

    Funciona

    const records = text
      .split('\n')
      .filter((line) => line.trim())
      .map((line) => JSON.parse(line));
  2. 02 Duas respostas foram concatenadas

    Uma nova tentativa que acrescentou em vez de substituir, ou uma leitura de stream que juntou dois pedaços sem separá-los.

  3. 03 Saída de depuração foi acrescentada ao corpo

    Um print esquecido, um warning ecoado, ou saída de profiling escrita depois do JSON. O documento faz o parsing perfeitamente até o ponto em que o texto extra começa, que é exatamente para onde a posição aponta.

  4. 04 O valor está com codificação dupla

    Uma string JSON contendo JSON, desembrulhada uma vez a menos ou uma vez a mais. A nossa ferramenta de desescape detecta quantas camadas de codificação um valor tem.

O mesmo erro em outros runtimes

O problema de fundo é idêntico; só muda a redação. Se um colega reportar uma dessas mensagens, ele está olhando exatamente para a mesma coisa que você.

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

Perguntas frequentes

Como sei se o meu arquivo é NDJSON?
Cada linha não vazia faz o parsing como JSON completo sozinha, não há vírgulas entre registros, e não há [ ] envolvendo. Cole no nosso validador: ele diz isso e ainda oferece envolver os registros em um array.
Não posso simplesmente envolver em colchetes e pôr vírgulas?
Pode, e para um arquivo pequeno essa é a correção mais rápida. Para um grande, ler linha a linha usa muito menos memória, que é justamente a razão de o formato existir.

Conserte agora

Cole o payload na ferramenta acima, ou vá direto para a que foi feita para este trabalho.

Converter NDJSON para JSON