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
| # | id | name | role | active |
|---|---|---|---|---|
| 1 | 1 | Alice | developer | true |
| 2 | 2 | Bob | designer | true |
| 3 | 3 | Carol | manager | false |
| 4 | 4 | Dave | developer | true |
Como Usar Formatador JSONL / JSON Lines
- 1Cole seu conteúdo JSONL (um objeto JSON por linha).
- 2Veja resultados de validação para cada linha com destaque de erro.
- 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
Ferramentas Relacionadas
Formatador e Validador de JSON
Formate, valide e embeleze dados JSON com destaque de sintaxe e detecção de erros.Decodificador JWT
Decodifique e inspecione tokens JWT. Visualize cabeçalho, payload e verifique assinaturas.Codificar/Decodificar Base64
Codifique texto para Base64 ou decodifique Base64 de volta para texto. Suporta dados UTF-8 e binários.Encode/Decode de URL
Codifique ou decodifique componentes de URL. Trate caracteres especiais, strings de consulta e URLs completas.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').