Formatador JSONL / JSON Lines

Valide e formate arquivos JSONL (JSON Lines / NDJSON) onde cada linha é um objeto JSON. Útil para conjuntos de dados de aprendizado de máquina, arquivos de log e dados de streaming.

4 valid records

Table View

#idnameroleactive
11Alicedevelopertrue
22Bobdesignertrue
33Carolmanagerfalse
44Davedevelopertrue

Como Usar Formatador JSONL / JSON Lines

  1. 1Cole seu conteúdo JSONL (um objeto JSON por linha).
  2. 2Veja resultados de validação para cada linha com destaque de erro.
  3. 3Converta entre formato JSONL e array JSON, ou compacte/formate cada registro.
ZenovayAnalytics

Veja quem está no seu site agora mesmo.

  • Acompanhamento de visitantes em tempo real
  • Privacidade em primeiro lugar, sem banner de cookies
  • Configurado em dois minutos
Conheça o Zenovay

Perguntas Frequentes

O que é JSONL (JSON Lines)?
JSONL (JSON Lines) é um formato de texto onde cada linha é um valor JSON válido (geralmente um objeto). Também conhecido como NDJSON (Newline Delimited JSON) ou JSON Lines. Regras: cada linha é um objeto JSON completo e válido. As linhas são separadas por quebras de linha (\n). Sem vírgula à direita entre as linhas. O arquivo pode ter uma quebra de linha à direita. Vantagens sobre arrays JSON: amigável ao streaming (leia uma linha por vez sem carregar o arquivo completo), fácil de anexar, fácil de grep, eficiente em memória para grandes conjuntos de dados. Usado por: API bulk do Elasticsearch, conjuntos de dados de ajuste fino OpenAI, agregação de logs, Clickhouse, BigQuery.
Como JSONL é diferente de uma array JSON?
Array JSON: [{...}, {...}, {...}] — deve ler o arquivo inteiro antes de analisar, bom para pequenos conjuntos de dados. JSONL: um objeto por linha, stream-parseável linha por linha. A conversão é simples: JSONL → array JSON: envolva as linhas em [] e junte-as com vírgulas. Array JSON → JSONL: stringify cada elemento em sua própria linha. Diferença prática: uma array JSON de 10 GB requer 10 GB de RAM para analisar; um arquivo JSONL de 10 GB requer apenas RAM suficiente para manter um registro por vez. Ferramentas: jq, biblioteca jsonlines Python, Clickhouse, Apache Kafka, todos suportam JSONL nativamente.
Como analiso JSONL em JavaScript?
Linha por linha: const records = text.split("\n").filter(line => line.trim()).map(line => JSON.parse(line)). Processamento de stream: use fs.createReadStream() com interface readline em Node.js. readline.createInterface({ input: fileStream }).on("line", (line) => { if (line.trim()) process(JSON.parse(line)); }). Para arquivos grandes, use a abordagem de streaming — nunca carregue o arquivo inteiro na memória. Navegador: busque o arquivo e use um TransformStream com divisão de linha. Tratamento de erro: envolva cada JSON.parse() em try-catch para lidar com linhas malformadas.
Qual é o formato JSONL de ajuste fino OpenAI?
O ajuste fino OpenAI usa JSONL com um esquema específico. Formato de chat: cada linha é {"messages": [{"role": "system", "content": "..."}, {"role": "user", "content": "..."}, {"role": "assistant", "content": "..."}]}. Formato de conclusão (herdado): cada linha é {"prompt": "...", "completion": " ..."}. Requisitos: pelo menos 10 exemplos, recomendado 50-100+. Tamanho do arquivo: máximo 1 GB. Validação: use o comando openai tools.fine_tunes.prepare_data. O token "\n" após a conclusão é importante para o modelo aprender onde as respostas terminam.
Como trabalho com arquivos JSONL grandes?
Linha de comando: contar linhas: wc -l file.jsonl. Obter primeiro 10: head -n 10 file.jsonl. Obter último 10: tail -n 10 file.jsonl. Filtrar com jq: cat file.jsonl | jq -c 'select(.status == "active")'. Streaming Python: with open("file.jsonl") as f: for line in f: record = json.loads(line). Dividir por contagem de linhas: split -l 1000 file.jsonl chunk_. Mesclar: cat chunk_* > merged.jsonl. Classificar: sort -t'"status"' file.jsonl (classificar por linha bruta, cuidado). DuckDB: SELECT * FROM read_json_auto('file.jsonl', format='newline_delimited').