O que é um ficheiro NDJSON?

NDJSON — JSON por linhas

O que é?

O NDJSON organiza um objeto JSON completo por linha, sem parênteses retos envolventes nem vírgulas entre as linhas. Cada linha lê-se de forma independente das restantes.

A vantagem é decisiva para grandes volumes: um ficheiro JSON clássico tem de ser carregado por completo na memória antes de poder ser utilizado. Um NDJSON lê-se linha a linha — o que permite processar um ficheiro de 50 GB numa máquina com apenas 8 GB de memória.

História e origem

A convenção impôs-se naturalmente com a expansão do processamento de dados em fluxo, à medida que os volumes tornavam impraticável o carregamento integral de um ficheiro.

Tornou-se o formato de facto para registos de aplicações (logs) e exportações de bases de dados de grande dimensão.

Porque é prático

Processa-se em fluxo, linha a linha, seja qual for o volume total do ficheiro.

Uma linha corrompida não invalida o resto do ficheiro — ao contrário de um JSON clássico, onde uma única vírgula mal colocada torna o ficheiro inteiro inutilizável.

Limites e defeitos

Não é um JSON válido em sentido estrito: um analisador clássico irá recusá-lo.

Não tem uma especificação oficial, o que dá origem a variantes.

Conselhos de utilização

O NDJSON é o formato indicado para registos, exportações massivas ou fluxos de dados.

Para o utilizar numa folha de cálculo, converta-o para CSV — desde que a estrutura seja plana.

Converta o seu NDJSON em segundos, nos nossos servidores seguros em França.

Converter um NDJSON