Neste artigo
O que e JSON Lines?
JSON Lines (também chamado JSONL ou Newline-Delimited JSON, NDJSON) e um formato de texto onde cada linha e um objeto JSON valido. Diferente do JSON regular que envolve tudo em um array, JSONL coloca um registro por linha sem colchetes envolventes. Isso o torna ideal para streaming, anexacao e processamento de grandes conjuntos de dados linha por linha.
Um arquivo JSONL tipico se parece com isto: cada linha contem um objeto JSON completo com suas proprias chaves e valores. Não ha virgulas entre linhas e nenhum array envolvente. Essa simplicidade e o que torna o formato poderoso para pipelines de dados, arquivos de log e datasets de machine learning.
Por que JSONL e importante
JSONL tornou-se o formato preferido para varios casos de uso importantes em engenharia de dados moderna e plataformas cloud.
- Processamento em streaming -- como cada linha e independente, você pode processar arquivos linha por linha sem carregar o conjunto de dados inteiro na memoria, critico para arquivos de multiplos gigabytes
- Importações BigQuery e cloud -- Google BigQuery, Amazon Athena e outros data warehouses cloud suportam nativamente JSONL para carregamento de dados, tornando-o o formato padrão para importações de dados cloud
- Datasets de machine learning -- muitos frameworks ML incluindo Hugging Face, fine-tuning OpenAI e treinamento BERT esperam dados em formato JSONL com um exemplo por linha
- Arquivos de log e fluxos de eventos -- logs de aplicações frequentemente usam JSONL porque novos eventos podem ser anexados a um arquivo sem modificar o conteudo existente ou manter a sintaxe de array
Experimente gratuitamente — sem cadastro
Converter CSV para JSONL →Converter CSV para JSONL
A conversão de CSV para JSONL mapeia cada linha do seu arquivo CSV para um objeto JSON onde os cabeçalhos das colunas tornam-se as chaves.
- Cabeçalhos como chaves -- a primeira linha do seu arquivo CSV fornece os nomes das propriedades para cada objeto JSON, então os cabeçalhos das colunas devem ser limpos e consistentes
- Detecção de delimitador -- o conversor lida com delimitadores de virgula, ponto e virgula, tabulação e pipe, detectando automaticamente o formato ou permitindo que você o especifique explicitamente
- Inferência de tipo -- valores numericos sao convertidos em números JSON em vez de strings, e celulas vazias podem ser exibidas como null ou omitidas completamente de acordo com sua preferência
Perguntas frequentes
Qual e a diferença entre JSONL e JSON regular?
JSON regular envolve todos os registros em um array com colchetes e os separa com virgulas. JSONL coloca um objeto JSON por linha sem envoltorio de array e sem virgulas entre registros. Isso significa que você pode anexar a um arquivo JSONL sem modificar o conteudo existente, processa-lo linha por linha sem um parser completo e transmiti-lo sem armazenar o arquivo inteiro em buffer.
Quando devo usar JSONL em vez de CSV?
Use JSONL quando seus dados tem estruturas aninhadas, colunas inconsistentes ou precisam ser consumidos por APIs e serviços cloud. CSV e melhor para dados tabulares simples que serão abertos em planilhas. JSONL preserva tipos de dados (números, booleanos, null) enquanto CSV trata tudo como texto. JSONL também lida com valores contendo virgulas e quebras de linha sem problemas de escape.
Qual extensão de arquivo devo usar?
As extensões mais comuns sao .jsonl e .ndjson. Algumas ferramentas também aceitam .json com um objeto por linha. Use .jsonl para clareza pois imediatamente indica a qualquer pessoa olhando para o arquivo que ele e delimitado por novas linhas em vez de JSON padrão. BigQuery e a maioria das ferramentas cloud aceitam todas as tres extensões.
Arquivos JSONL podem ser transmitidos em streaming?
Sim, essa e uma das principais vantagens do JSONL. Como cada linha e independente e autocontida, você pode ler e processar uma linha por vez usando logica readline simples em qualquer linguagem de programação. Isso torna JSONL ideal para processar datasets grandes demais para caber na memoria, diferente do JSON regular que requer a analise da estrutura completa do array.