Format Atlas

Comparar

JSON Lines ou JSON

JSON Lines (JSON delimitado por linhas) é uma convenção de texto UTF-8 que coloca um valor JSON válido e independente em cada linha. Um texto JSON comum representa um único valor como um todo, então JSON Lines facilita processar e acrescentar vários registros sequencialmente.

Qual formato você deve escolher?

Considere JSON Lines para logs ou eventos processados e anexados um registro por vez. Use JSON comum para um único documento de configuração ou um objeto ou array aninhado completo.

Indicado para JSON Lines

Logs e registros processados linha a linha · Troca contínua de registros JSON

  • Ler e gravar registros aos poucos
  • Acrescentar ou combinar dados de texto com ferramentas comuns

Indicado para JSON

APIs web, arquivos de configuração e troca de dados

  • Transferir dados estruturados

Informações básicas

CampoJSON LinesJSON
Extensão.jsonl, .ndjson.json
Tipo MIMEapplication/jsonlapplication/json
Usos comunsLogs e registros processados linha a linha · Troca contínua de registros JSONAPIs web, arquivos de configuração e troca de dados
Como abrirAbra em um editor de texto ou ferramenta compatível com JSON Lines. Validar cada linha como JSON facilita encontrar o registro com erro de sintaxe.Abra em um editor de texto, IDE ou visualizador compatível com JSON.
Exportar ou converterPara criar um array JSON, reúna as linhas como elementos do array. Para converter um array em JSON Lines, grave cada valor em uma linha. Em arquivos grandes, considere o uso de memória.Aplicativos ou ferramentas de conversão podem convertê-lo para formatos como CSV.

Escolha por finalidade

Ler e gravar registros aos poucos

Logs e registros processados linha a linha · Troca contínua de registros JSON

JSON Lines

Acrescentar ou combinar dados de texto com ferramentas comuns

Logs e registros processados linha a linha · Troca contínua de registros JSON

JSON Lines

Transferir dados estruturados

APIs web, arquivos de configuração e troca de dados

JSON

Ponto principal 1

Cada linha JSON Lines deve ser analisada como um valor JSON independente. Objetos são comuns, mas strings, números, null e outros valores JSON também são permitidos; linha vazia não é registro. Um texto JSON comum representa um valor no todo.

Mais sobre as diferenças

Ponto principal 2

JSON Lines usa UTF-8 e LF entre valores; CRLF também é aceito como espaço JSON. Uma quebra final é recomendada, mas não obrigatória; defina como tratar concatenação e limites de fluxo.

Mais sobre as diferenças

Mais sobre as diferenças

Use JSON Lines em pipelines registro a registro e logs fáceis de anexar, se o receptor oferecer suporte. Use JSON para um documento estruturado único. Analise JSON Lines linha a linha; o arquivo inteiro não é necessariamente um documento JSON padrão.

  • Um arquivo JSON Lines contém vários valores JSON de nível superior separados por quebras de linha, então um parser comum de documentos JSON pode rejeitá-lo quando enviado inteiro.
  • Defina comportamento para ordem, linhas vazias ou inválidas, recuperação após registro incorreto e necessidade de terminador na última linha.
  • JSON Lines usa UTF-8 e exclui BOM. O tipo de mídia sugerido `application/jsonl` ainda não é padronizado; combine metadados de transporte com os consumidores.

Perguntas frequentes

Um arquivo JSON Lines é apenas um array JSON?

Não. É uma sequência de valores JSON separados por quebras de linha, não um único documento de array. Cada linha pode ser processada individualmente.

Saiba mais

Referências e especificações