Neste artigo
O que e JSON Lines?
JSON Lines (tambem 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. Nao 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, voce pode processar arquivos linha por linha sem carregar o conjunto de dados inteiro na memoria, critico para arquivos de multiplos gigabytes
- Importacoes BigQuery e cloud -- Google BigQuery, Amazon Athena e outros data warehouses cloud suportam nativamente JSONL para carregamento de dados, tornando-o o formato padrao para importacoes 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 aplicacoes 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 conversao de CSV para JSONL mapeia cada linha do seu arquivo CSV para um objeto JSON onde os cabecalhos das colunas tornam-se as chaves.
- Cabecalhos como chaves -- a primeira linha do seu arquivo CSV fornece os nomes das propriedades para cada objeto JSON, entao os cabecalhos das colunas devem ser limpos e consistentes
- Deteccao de delimitador -- o conversor lida com delimitadores de virgula, ponto e virgula, tabulacao e pipe, detectando automaticamente o formato ou permitindo que voce o especifique explicitamente
- Inferencia de tipo -- valores numericos sao convertidos em numeros JSON em vez de strings, e celulas vazias podem ser exibidas como null ou omitidas completamente de acordo com sua preferencia
Perguntas frequentes
Qual e a diferenca 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 voce 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 servicos cloud. CSV e melhor para dados tabulares simples que serao abertos em planilhas. JSONL preserva tipos de dados (numeros, booleanos, null) enquanto CSV trata tudo como texto. JSONL tambem lida com valores contendo virgulas e quebras de linha sem problemas de escape.
Qual extensao de arquivo devo usar?
As extensoes mais comuns sao .jsonl e .ndjson. Algumas ferramentas tambem 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 padrao. BigQuery e a maioria das ferramentas cloud aceitam todas as tres extensoes.
Arquivos JSONL podem ser transmitidos em streaming?
Sim, essa e uma das principais vantagens do JSONL. Como cada linha e independente e autocontida, voce pode ler e processar uma linha por vez usando logica readline simples em qualquer linguagem de programacao. 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.