Formateador JSONL / JSON Lines

Valida y formatea archivos JSONL (JSON Lines / NDJSON) donde cada línea es un objeto JSON. Útil para conjuntos de datos de aprendizaje automático, archivos de registro y datos de transmisión.

4 valid records

Table View

#idnameroleactive
11Alicedevelopertrue
22Bobdesignertrue
33Carolmanagerfalse
44Davedevelopertrue

Cómo usar Formateador JSONL / JSON Lines

  1. 1Pega tu contenido JSONL (un objeto JSON por línea).
  2. 2Consulta los resultados de validación para cada línea con resaltado de errores.
  3. 3Convierte entre formato JSONL y matriz JSON, o comprime/imprime con formato cada registro.
ZenovayAnalytics

Ve quién está en tu sitio ahora mismo.

  • Seguimiento de visitantes en tiempo real
  • Privacidad primero, sin aviso de cookies
  • Configurado en dos minutos
Descubre Zenovay

Preguntas frecuentes

¿Qué es JSONL (JSON Lines)?
JSONL (JSON Lines) es un formato de texto donde cada línea es un valor JSON válido (generalmente un objeto). También conocido como NDJSON (Newline Delimited JSON) o JSON Lines. Reglas: cada línea es un objeto JSON completo y válido. Las líneas están separadas por saltos de línea (\n). Sin coma final entre líneas. El archivo puede tener un salto de línea al final. Ventajas sobre los arrays JSON: compatible con streaming (leer una línea a la vez sin cargar el archivo completo), fácil de añadir, fácil de buscar con grep, eficiente en memoria para conjuntos de datos grandes. Usado por: API bulk de Elasticsearch, conjuntos de datos de fine-tuning de OpenAI, agregación de logs, Clickhouse, BigQuery.
¿En qué se diferencia JSONL de un array JSON?
Array JSON: [{...}, {...}, {...}] — debe leer el archivo completo antes de analizar, bueno para conjuntos de datos pequeños. JSONL: un objeto por línea, analizable en streaming línea por línea. La conversión es sencilla: JSONL → array JSON: envuelva las líneas en [] y únelas con comas. Array JSON → JSONL: serialice cada elemento en su propia línea. Diferencia práctica: un array JSON de 10 GB requiere 10 GB de RAM para analizarse; un archivo JSONL de 10 GB requiere solo suficiente RAM para contener un registro a la vez. Herramientas: jq, biblioteca jsonlines de Python, Clickhouse, Apache Kafka, todos admiten JSONL de forma nativa.
¿Cómo analizo JSONL en JavaScript?
Línea por línea: const records = text.split("\n").filter(line => line.trim()).map(line => JSON.parse(line)). Procesamiento en streaming: use fs.createReadStream() con interfaz readline en Node.js. readline.createInterface({ input: fileStream }).on("line", (line) => { if (line.trim()) process(JSON.parse(line)); }). Para archivos grandes, use el enfoque de streaming — nunca cargue el archivo completo en memoria. Navegador: obtenga el archivo y use un TransformStream con división de líneas. Manejo de errores: envuelva cada JSON.parse() en try-catch para manejar líneas malformadas.
¿Cuál es el formato JSONL de fine-tuning de OpenAI?
El fine-tuning de OpenAI usa JSONL con un esquema específico. Formato de chat: cada línea es {"messages": [{"role": "system", "content": "..."}, {"role": "user", "content": "..."}, {"role": "assistant", "content": "..."}]}. Formato de completado (heredado): cada línea es {"prompt": "...", "completion": " ..."}. Requisitos: al menos 10 ejemplos, se recomiendan 50–100 o más. Tamaño del archivo: máximo 1 GB. Validación: use el comando openai tools.fine_tunes.prepare_data. El token "\n" después del completado es importante para que el modelo aprenda dónde terminan las respuestas.
¿Cómo trabajo con archivos JSONL grandes?
Línea de comandos: contar líneas: wc -l archivo.jsonl. Obtener las primeras 10: head -n 10 archivo.jsonl. Obtener las últimas 10: tail -n 10 archivo.jsonl. Filtrar con jq: cat archivo.jsonl | jq -c 'select(.status == "active")'. Streaming en Python: with open("archivo.jsonl") as f: for line in f: record = json.loads(line). Dividir por número de líneas: split -l 1000 archivo.jsonl fragmento_. Fusionar: cat fragmento_* > fusionado.jsonl. DuckDB: SELECT * FROM read_json_auto('archivo.jsonl', format='newline_delimited').