NDJSON e um valor JSON por linha, e e todo o formato. Ele existe porque um leitor pode lidar com uma linha e esquece-la, o que faz um arquivo de registro ou uma exportacao grande ser transmitida quando um unico array enorme nao e: nada precisa conter o documento inteiro na memoria ao mesmo tempo.
Usando o conversor JSON para NDJSON
Escolha uma direcao e pressione Converter. Ir para NDJSON precisa de um array, ja que essa e a forma de JSON que e uma sequencia de valores; qualquer tipo de elemento e permitido em uma linha, nao apenas objetos.
[{"id": 12345678901234567890}, "plain string", 42, null]
se torna:
{"id":12345678901234567890}
"plain string"
42
null
Cada elemento ganha sua propria linha, minificada, e o id de vinte digitos
mantem cada digito porque ambas as direcoes passam pelo fluxo de tokens em
vez de JSON.parse.
Linhas em branco
Uma linha completamente em branco e ignorada em vez de tratada como erro. Quase todos os arquivos NDJSON reais terminam com uma quebra de linha final, que estritamente significa uma ultima linha em branco, entao falhar em uma rejeitaria quase todos os arquivos que as pessoas realmente tem. A ferramenta reporta quantas ignorou junto com quantos registros escreveu, ja que um arquivo que acabou estando pela metade vazio vale a pena saber.
Lendo de volta, e o que uma linha quebrada te diz
Converter NDJSON para JSON valida cada linha individualmente e reporta uma falha pelo numero de linha que seu arquivo realmente tem. Dado
{"a":1}
{"a":2}
{"a":}
{"a":4}
a falha e reportada na linha 3, nao na linha 1 ou no final do arquivo, entao voce pode ir direto ao registro quebrado em um arquivo de mil linhas sem contar.
Um valor por linha, estritamente
Dois valores JSON em uma unica linha nao e NDJSON, embora um parser indulgente possa aceita-lo por acidente. Esta ferramenta o rejeita, porque aceita-lo silenciosamente significaria que um leitor a montante construido com a especificacao real discorda do que esta ferramenta escreveu. Se voce precisa que cada registro seja legivelmente indentado, use o formatador JSON no resultado apos converter de volta para um array regular; linhas NDJSON permanecem sem indentacao de proposito, ja que uma quebra de linha dentro de um valor terminaria o registro.