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
| # | id | name | role | active |
|---|---|---|---|---|
| 1 | 1 | Alice | developer | true |
| 2 | 2 | Bob | designer | true |
| 3 | 3 | Carol | manager | false |
| 4 | 4 | Dave | developer | true |
Cómo usar Formateador JSONL / JSON Lines
- 1Pega tu contenido JSONL (un objeto JSON por línea).
- 2Consulta los resultados de validación para cada línea con resaltado de errores.
- 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
Herramientas relacionadas
Formateador y Validador JSON
Formatea, valida y embellece datos JSON con resaltado de sintaxis y detección de errores.Decodificador JWT
Decodifica e inspecciona tokens JWT. Consulta el encabezado, la carga útil y verifica firmas.Base64 Codificar/Decodificar
Codifica texto a Base64 o decodifica Base64 a texto. Soporta UTF-8 y datos binarios.Codificador/Decodificador de URL
Codifica o decodifica componentes de URL. Maneja caracteres especiales, cadenas de consulta y URLs completas.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').