Saltar al contenido
jsonbeautifiers
Español
V8 Verificado ejecutando el parser en 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 exactamente un valor de nivel superior. El parser leyó uno completo y después encontró otra cosa detrás. La posición que reporta es donde empieza el contenido sobrante, que suele ser el comienzo del segundo registro.

Pega tu JSON y ve exactamente dónde se rompe

Entrada

Nada de lo que pegues sale de tu navegador. La lista de permitidos de connect-src convierte eso en una garantía del navegador, no en una promesa. Compruébalo tú mismo

Qué lo provoca realmente

Ordenados por la frecuencia con la que cada uno acaba siendo la respuesta.

  1. 01 La entrada es NDJSON o JSON Lines

    Un valor JSON completo por línea, sin comas y sin array envolvente. Es el formato que usan los pipelines de logs, las exportaciones de BigQuery, las operaciones bulk de Elasticsearch y las APIs de LLM en streaming. No es JSON roto; es un formato distinto que hay que leer línea a línea.

    Falla

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

    Funciona

    const records = text
      .split('\n')
      .filter((line) => line.trim())
      .map((line) => JSON.parse(line));
  2. 02 Se concatenaron dos respuestas

    Un reintento que añadió en vez de reemplazar, o una lectura de stream que unió dos trozos sin separarlos.

  3. 03 Se añadió salida de depuración al cuerpo

    Un print olvidado, un warning volcado, o salida de profiling escrita después del JSON. El documento se parsea perfectamente hasta el punto donde empieza el texto extra, que es exactamente donde apunta la posición.

  4. 04 El valor tiene doble codificación

    Una cadena JSON que contiene JSON, desenvuelta una vez de menos o una vez de más. Nuestra herramienta de desescapado detecta cuántas capas de codificación tiene un valor.

El mismo error en otros entornos

El problema de fondo es idéntico; solo cambia la redacción. Si un compañero reporta alguno de estos, está mirando exactamente lo mismo que tú.

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

Preguntas frecuentes

¿Cómo sé si mi archivo es NDJSON?
Cada línea no vacía se parsea como JSON completo por sí sola, no hay comas entre registros, y no hay un [ ] envolvente. Pégalo en nuestro validador y te lo dirá, además de ofrecerte envolver los registros en un array.
¿No puedo envolverlo en corchetes y añadir comas y ya está?
Sí, y para un archivo pequeño es el arreglo más rápido. Para uno grande, leerlo línea a línea usa muchísima menos memoria, que es la razón por la que existe el formato.

Arréglalo ahora

Pega el payload en la herramienta de arriba, o ve directamente a la creada para este trabajo.

Convertir NDJSON a JSON