Comparar
JSON Lines o JSON
JSON Lines (JSON delimitado por líneas) es una convención de texto UTF-8 que coloca un valor JSON válido e independiente en cada línea. Un texto JSON normal representa un único valor global, por lo que JSON Lines facilita procesar y añadir varios registros secuencialmente.
¿Qué formato deberías elegir?
Considera JSON Lines para registros o eventos procesados y añadidos uno por uno. Usa JSON normal para un único documento de configuración o un objeto o arreglo anidado completo.
Adecuado para JSON Lines
Registros y logs procesados línea a línea · Intercambio progresivo de registros JSON
- Leer y escribir registros de forma incremental
- Añadir o combinar datos de texto con herramientas comunes
Adecuado para JSON
API web, archivos de configuración e intercambio de datos
- Transferir datos estructurados
Información básica
| Campo | JSON Lines | JSON |
|---|---|---|
| Extensión | .jsonl, .ndjson | .json |
| Tipo MIME | application/jsonl | application/json |
| Usos habituales | Registros y logs procesados línea a línea · Intercambio progresivo de registros JSON | API web, archivos de configuración e intercambio de datos |
| Cómo abrir | Abre el archivo con un editor de texto o una herramienta compatible con JSON Lines. Validar cada línea como JSON facilita localizar el registro con errores de sintaxis. | Ábralo en un editor de texto, IDE o visor compatible con JSON. |
| Exportar o convertir | Para crear un array JSON, agrupa las líneas como elementos del array. Para pasar de un array a JSON Lines, escribe cada valor en una línea. En archivos grandes, ten en cuenta la memoria necesaria. | Las aplicaciones o herramientas de conversión pueden convertirlo a formatos como CSV. |
Elegir según el uso
Leer y escribir registros de forma incremental
Registros y logs procesados línea a línea · Intercambio progresivo de registros JSON
JSON LinesAñadir o combinar datos de texto con herramientas comunes
Registros y logs procesados línea a línea · Intercambio progresivo de registros JSON
JSON LinesTransferir datos estructurados
API web, archivos de configuración e intercambio de datos
JSONPunto clave 1
Cada línea JSON Lines debe analizarse como un valor JSON independiente. Lo habitual son objetos, pero también se permiten cadenas, números, null y otros valores; una línea vacía no es un registro. JSON normal representa un valor en conjunto.
Más sobre las diferenciasPunto clave 2
JSON Lines usa UTF-8 y LF entre valores; también admite CRLF como espacio JSON. El salto final se recomienda, pero no es obligatorio; define cómo gestionar concatenación y límites de flujo.
Más sobre las diferenciasMás sobre las diferencias
Usa JSON Lines para canalizaciones registro a registro y logs fáciles de añadir, si el receptor lo admite. Usa JSON para un documento estructurado único. Analiza JSON Lines línea por línea; el archivo entero no es necesariamente un documento JSON estándar.
- Un archivo JSON Lines contiene varios valores JSON de nivel superior separados por saltos, por lo que un parser de documentos JSON típico puede rechazarlo si se entrega completo.
- Define orden, líneas vacías o incorrectas, recuperación tras un registro erróneo y si la última línea necesita terminador.
- JSON Lines requiere UTF-8 y excluye BOM. El tipo multimedia sugerido `application/jsonl` no está estandarizado; acuerda los metadatos de transporte con los consumidores.
Preguntas frecuentes
¿Un archivo JSON Lines es simplemente un arreglo JSON?
No. Es una secuencia de valores JSON separados por saltos de línea, no un único documento de arreglo. Cada línea puede procesarse independientemente.