NDJSON
NDJSON (JSON delimitado por saltos de línea) coloca un objeto JSON independiente por línea, apto para el procesamiento en streaming de grandes conjuntos de datos.
Propósito
Proporcionar un formato JSON procesable como flujo sin cargar un array completo en memoria.
Mecanismo
Cada línea es un valor JSON completo separado por saltos de línea, sin envoltorio de array exterior. Un parser lee línea a línea, permitiendo streaming. Común en logs, exportaciones de bases de datos y flujos de API.
Casos de uso
- API bulk de Elasticsearch
- Exportación e importación de bases de datos
- Procesamiento de flujos de logs
- Formato intermedio para pipelines de big data
Ejemplos
- entrada
{"a":1} {"a":2}OutputTwo JSON objects, one per lineNewline-delimited
Errores comunes
- A string containing a literal newline breaks the line format
- Newlines inside JSON strings are already escaped as \n
Términos relacionados
JSON
JSON (JavaScript Object Notation) es un formato ligero de intercambio de datos basado en los literales de objeto de JavaScript, usando pares clave-valor y arrays. GLOSARIO
JSONL
JSONL (JSON Lines) es equivalente a NDJSON: un objeto JSON por línea, un nombre alternativo para el mismo formato. GLOSARIO
CSV
CSV (comma-separated values) es un formato de datos tabulares que separa los campos con comas; RFC 4180 define el estándar y se usa ampliamente para importar y exportar datos. GLOSARIO