A resposta curta
- JSON Lines é um formato de texto que armazena dados estruturados com um valor JSON por linha e exige UTF-8 sem BOM e nenhuma linha vazia.
- No Windows ou macOS, abra o arquivo em um editor de texto com suporte a UTF-8. No celular, use um editor que consiga acessar o arquivo e ler UTF-8; os limites de tamanho dependem do aplicativo. Para processar os dados, analise cada linha separadamente com um parser JSON. A estrutura permite usar ferramentas de texto Unix e pipelines do shell. LF e CRLF são aceitos. JSON Lines recomenda uma quebra de linha final; NDJSON exige uma após cada texto JSON.
- O risco inerente do formato é baixo: a sintaxe JSON válida exclui atribuições e chamadas de funções. Use um parser JSON para textos não confiáveis; eval e funções semelhantes podem introduzir execução de código. Conseguir analisar um arquivo não comprova a confiabilidade dos dados nem a preservação de todos os valores em uma conversão.
JSON Lines (.jsonl, .ndjson): abrir e converter arquivos
JSON Lines, também chamado de JSON delimitado por quebras de linha, serve para processar registros, logs e mensagens individualmente. Cada linha pode conter um objeto, um array ou um valor escalar; null é válido. JSON Lines usa .jsonl, enquanto a especificação NDJSON recomenda .ndjson. A documentação de JSON Lines propõe application/jsonl, mas informa que ele não é padronizado; NDJSON recomenda application/x-ndjson.
Para converter JSONL em um documento JSON convencional, reúna os valores das linhas em um único array, mantendo a ordem. Essa conclusão decorre da estrutura dos formatos; trocar a extensão não faz a conversão. Verifique chaves duplicadas e precisão numérica antes de analisar e exportar. Para CSV, também é necessário definir como representar arrays, valores aninhados e registros com campos diferentes.
Como abrir
No Windows ou macOS, abra o arquivo em um editor de texto com suporte a UTF-8. No celular, use um editor que consiga acessar o arquivo e ler UTF-8; os limites de tamanho dependem do aplicativo. Para processar os dados, analise cada linha separadamente com um parser JSON. A estrutura permite usar ferramentas de texto Unix e pipelines do shell. LF e CRLF são aceitos. JSON Lines recomenda uma quebra de linha final; NDJSON exige uma após cada texto JSON.
No Windows ou macOS, abra o arquivo em um editor de texto com suporte a UTF-8. No celular, use um editor que consiga acessar o arquivo e ler UTF-8; os limites de tamanho dependem do aplicativo. Para processar os dados, analise cada linha separadamente com um parser JSON. A estrutura permite usar ferramentas de texto Unix e pipelines do shell. LF e CRLF são aceitos. JSON Lines recomenda uma quebra de linha final; NDJSON exige uma após cada texto JSON.
Para converter JSONL em um documento JSON convencional, reúna os valores das linhas em um único array, mantendo a ordem. Essa conclusão decorre da estrutura dos formatos; trocar a extensão não faz a conversão. Verifique chaves duplicadas e precisão numérica antes de analisar e exportar. Para CSV, também é necessário definir como representar arrays, valores aninhados e registros com campos diferentes.
Segurança
O risco inerente do formato é baixo: a sintaxe JSON válida exclui atribuições e chamadas de funções. Use um parser JSON para textos não confiáveis; eval e funções semelhantes podem introduzir execução de código. Conseguir analisar um arquivo não comprova a confiabilidade dos dados nem a preservação de todos os valores em uma conversão.
Remetente desconhecido, nome terminando em duas extensões ou conteúdo que não bate com a extensão: confira antes de abrir.
Como converter
Para converter JSONL em um documento JSON convencional, reúna os valores das linhas em um único array, mantendo a ordem. Essa conclusão decorre da estrutura dos formatos; trocar a extensão não faz a conversão. Verifique chaves duplicadas e precisão numérica antes de analisar e exportar. Para CSV, também é necessário definir como representar arrays, valores aninhados e registros com campos diferentes.
Converta uma cópia, nunca o original, e depois compare qualidade, metadados e diagramação com o arquivo de partida.
Perguntas frequentes
O que é um arquivo JSON Lines e para que serve?
É um arquivo de texto com um valor JSON por linha, usado para processar registros, logs e mensagens individualmente. Cada linha pode conter um objeto, um array ou um escalar, incluindo null. Linhas vazias não são registros válidos em JSON Lines.
Como abrir arquivos JSONL no Windows?
Abra o arquivo .jsonl pelo menu de um editor de texto com suporte a UTF-8. Cada linha representa um valor JSON separado. Para processar os registros, use um parser que leia JSON linha por linha; um parser de documento único pode rejeitar o arquivo.
Como abrir arquivos JSONL no Mac?
Use um editor no modo de texto simples com codificação UTF-8. Mantenha cada registro em uma linha. No terminal, a estrutura permite trabalhar com ferramentas de texto Unix e pipelines do shell, analisando cada linha como JSON.
Como abrir arquivos NDJSON no celular?
Escolha um editor de texto que consiga acessar o arquivo no celular e ler UTF-8, depois abra o .ndjson nele. O tamanho aceito e o acesso aos arquivos dependem do aplicativo; o formato não garante compatibilidade com qualquer editor móvel.
Por que ocorrem erros de NDJSON com linhas vazias?
JSON Lines não permite linhas vazias. Parsers NDJSON podem ignorá-las se documentarem esse comportamento e deveriam permitir configurá-lo, por isso as ferramentas podem divergir. Confira também se há JSON incompleto ou um registro dividido entre várias linhas.
Devo usar JSON Lines ou JSON convencional para vários registros?
Use JSON Lines para ler ou processar cada registro por linha. Prefira um array JSON convencional quando o destinatário espera um único documento JSON. Vários valores separados por quebras de linha não formam um único documento JSON válido.
Como converter JSONL em um array JSON?
Analise cada linha como um valor JSON, preserve a ordem e escreva os valores dentro de um array, separados por vírgulas. A conversão decorre da estrutura dos formatos. Apenas trocar .jsonl por .json não transforma os registros.
Que perda de dados devo verificar ao converter JSONL para CSV?
Defina como objetos aninhados, arrays e registros com campos diferentes serão representados em colunas CSV. Confira também chaves duplicadas e números grandes ou de alta precisão: o parser pode manter só o último valor duplicado ou alterar números além da sua precisão.
Quais são os riscos ao analisar arquivos JSONL de origem desconhecida?
A sintaxe JSON válida exclui atribuições e chamadas de funções, mas usar eval ou funções semelhantes com texto não confiável pode introduzir execução de código. Use um parser JSON. Uma análise bem-sucedida não comprova a confiabilidade do conteúdo.
Como corrigir erros de codificação UTF-8 em JSON Lines?
Identifique a codificação original e salve uma cópia corretamente decodificada em UTF-8 sem BOM. JSON Lines exige essa codificação. Se uma leitura anterior já substituiu caracteres, mudar a indicação da codificação não recupera o texto original.
Quais são os limites de tamanho e aninhamento de arquivos JSONL?
As especificações citadas não definem um limite universal para abertura. Parsers podem limitar tamanho do texto, profundidade e comprimento de strings. Substitutos Unicode não emparelhados também podem causar comportamento imprevisível ou erros de execução. Consulte os limites do leitor utilizado.
Formatos relacionados
Fontes
JSON Lines — 官方格式文档 · JSON Lines 格式项目,维护者 Ian Ward
NDJSON — Newline delimited JSON Specification · NDJSON 官方规范仓库
RFC 8259 — The JavaScript Object Notation (JSON) Data Interchange Format · IETF Standards Track / RFC Editor