O que esta ferramenta faz
Entra JSON delimitado por quebras de linha, sai um array.
{"id": 1, "name": "Ada"}
{"id": 2, "name": "Grace"}
[
{
"id": 1,
"name": "Ada"
},
{
"id": 2,
"name": "Grace"
}
]
É todo o formato: um valor JSON por linha, sem vírgulas entre eles, sem colchetes em volta. É o que as esteiras de log escrevem, o que o bq load e muitas APIs de fluxo esperam, e o que o jq -c produz.
A linha ruim é nomeada
{"a": 1}
{oops}
Invalid JSON on line 3
A linha vazia é pulada sem uma palavra — um arquivo NDJSON costuma terminar com uma. A linha malformada para a conversão, e a mensagem carrega o número dela, então você vai direto ao ponto. Você não recebe um array parcial: metade dos registros sem nada que avise é pior que um erro.
Os números longos ficam com seus algarismos
{"id": 12345678901234567890}
[
{
"id": 12345678901234567890
}
]
Passados uns dezesseis algarismos, um número JavaScript deixa de ser exato: leia esse id como número e você recebe outro de volta, em silêncio. Aqui a leitura e a escrita guardam o literal como ele foi escrito, e é isso que faz um arquivo de ids do Twitter ou do Discord sobreviver à viagem.
O que ela não faz
- Reordenar nem tirar repetidos. O array guarda as linhas na ordem em que vieram, repetições incluídas.
- Exigir objetos. Uma linha pode ser qualquer valor JSON:
1,"x"enullsão registros válidos e passam como tais. - Partir uma linha. Dois valores numa linha são um erro, não dois registros.
Privado por padrão
Tudo é executado localmente no seu navegador com JavaScript. Os seus dados nunca são enviados para um servidor, o que torna a ferramenta segura para conteúdo sensível e funciona offline.