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
| Campo | JSON Lines | JSON |
|---|---|---|
| Extensão | .jsonl, .ndjson | .json |
| Tipo MIME | application/jsonl | application/json |
| Usos comuns | Logs e registros processados linha a linha · Troca contínua de registros JSON | APIs web, arquivos de configuração e troca de dados |
| Como abrir | Abra 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 converter | Para 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 LinesAcrescentar ou combinar dados de texto com ferramentas comuns
Logs e registros processados linha a linha · Troca contínua de registros JSON
JSON LinesTransferir dados estruturados
APIs web, arquivos de configuração e troca de dados
JSONPonto 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çasPonto 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çasMais 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.