Qué hace
JSON Lines (también llamado JSONL o NDJSON) guarda un valor JSON por línea. Es el formato preferido para logs, exportaciones de datos, API de streaming, cargas masivas en BigQuery y Elasticsearch y conjuntos de datos de aprendizaje automático como los archivos de fine-tuning de OpenAI, porque un programa puede leer o añadir registros de uno en uno sin cargar el archivo entero.
Sin embargo, muchas herramientas esperan un único array JSON. Este conversor transforma JSON Lines en un array JSON formateado, y un array JSON de nuevo en JSON Lines con un registro compacto por línea.
Cómo se usa
- Elige la Dirección: JSON Lines → JSON o JSON → JSON Lines.
- Pega tus datos, sube un archivo
.jsonl,.ndjsono.json, o pulsa Ejemplo. - Para la salida JSON, elige 2 o 4 espacios de sangría, o Compacto para una sola línea.
- Copia o descarga el resultado, o usa Usar como entrada para convertirlo de vuelta.
Si una línea no es JSON válido, el error indica el número de línea y la columna, para que vayas directo al registro roto; muy útil cuando un log tiene una entrada truncada entre miles.
Ejemplo
Estas tres líneas de JSON Lines:
{"id": 1, "event": "signup"}
{"id": 2, "event": "login"}
{"id": 3, "event": "logout"}
se convierten en este array JSON:
[
{
"id": 1,
"event": "signup"
},
{
"id": 2,
"event": "login"
},
{
"id": 3,
"event": "logout"
}
]
En la dirección contraria, cada elemento del array se escribe en una línea, sin espacios, y el archivo termina con un salto de línea.
Cuándo usar cada uno
Usa JSON Lines cuando los registros se producen o consumen de uno en uno: añadir a logs, enviar resultados en streaming, repartir un gran conjunto de datos entre procesos o trabajar con herramientas por líneas como grep, head y wc -l. Usa un array JSON cuando un programa necesita la colección completa de una vez, como un archivo de configuración, datos de prueba o el cuerpo de respuesta de un endpoint REST.
Preguntas frecuentes
› ¿Qué diferencia hay entre JSONL, NDJSON y JSON Lines?
Son nombres del mismo formato: un valor JSON completo por línea, separado por saltos de línea. JSON Lines (.jsonl) y JSON delimitado por saltos de línea (.ndjson) solo difieren en el nombre y la extensión.
› ¿Se permiten líneas en blanco?
Al leer se omiten las líneas en blanco y el salto de línea final. También se aceptan finales de línea de Windows (CRLF) y la marca BOM de UTF-8.
› Mi archivo es JSON con formato y un objeto ocupa varias líneas. ¿Por qué falla?
En JSON Lines cada valor debe caber en una sola línea. Si tu entrada es un array JSON normal, cambia la dirección a JSON → JSON Lines; si es una serie de objetos con formato, ponlos antes dentro de un array.
› ¿La conversión cambia los números o el orden de las claves?
No. Los valores y el orden de las claves se mantienen; solo cambian los espacios. Los enteros muy grandes, fuera del rango seguro de JavaScript (unos 9000 billones), pueden perder precisión, como en cualquier herramienta JSON del navegador.