Pular para o conteúdo

Conversor de JSON Lines

JSON Lines Converter

Converte entre NDJSON e um array JSON, e aponta pelo número cada linha que não é analisada em vez de parar a conversão.

Converte um array JSON em JSON Lines — um registro por linha, o formato que pipelines de log e o BigQuery querem — e de volta. Também lê um stream de valores JSON sem separador nenhum, que várias bibliotecas de logging emitem e `JSON.parse` recusa de cara.

🔒 Roda inteiramente no seu navegadorjsonlndjsonconvertstream
Converter

Entrada

Solte um arquivo .json, .jsonl ou .ndjson

Lido nesta aba. Nada é enviado.

Um array JSON, ou uma sequência de valores sem separador nenhum — é isso que várias bibliotecas de log emitem e é isso que o `JSON.parse` recusa.

Saída

Prévia

Os primeiros registros, em forma de tabela.
tslevelmsgms
2025-08-27T09:00:00Zinfostarted12
2025-08-27T09:00:04Zwarnslow query2100
2025-08-27T09:00:09Zerrorupstream 502

A união das chaves de todos os registros, nos primeiros 200.

Registros

3

Entrada

246 bytes

Saída

209 bytes

Como usar

  1. Escolha a direção

    De array para linhas quando você alimenta algo que faz streaming; de linhas para array quando você tem um arquivo de log e quer trabalhar com ele como um documento só.

  2. Solte o arquivo

    `.json`, `.jsonl` e `.ndjson` são todos aceitos: NDJSON e JSON Lines são o mesmo formato com dois nomes.

  3. Confira as linhas que não foram analisadas

    Uma linha ruim não interrompe a conversão. Ela é listada pelo número com o texto que falhou, que costuma ser um registro truncado no fim de um log rotacionado.

  4. Use a pré-visualização para ver a forma

    A tabela mostra a união das chaves de todos os registros entre os duzentos primeiros, que é o jeito mais rápido de notar que metade das suas linhas de log tem um campo que as outras não têm.

Perguntas frequentes

Qual é a diferença entre JSON Lines e NDJSON?

Nenhuma que importe. Dois nomes para a mesma convenção: um valor JSON por linha, separados por quebra de linha, sem array envolvendo. Algumas ferramentas usam uma extensão, outras a outra, e as duas são lidas aqui.

Ele dá conta de um arquivo de log de vários gigabytes?

Não. O arquivo inteiro é lido na aba, convertido em memória e mantido como uma segunda string. Dezenas de megabytes é o limite prático; além disso, `jq -c` na linha de comando é a ferramenta certa e vai fazer streaming.

Por que ordenar as chaves?

Porque JSON Lines normalmente é comparado com `diff`, e `diff` é uma comparação de linhas. Duas exportações dos mesmos dados com as chaves em ordens diferentes são linhas completamente diferentes. Ordenar as torna texto idêntico.

O que acontece com um objeto aninhado?

Ele continua aninhado: um registro de JSON Lines é um valor JSON completo, então aninhamento não é problema e nada é achatado. Se você quer colunas a partir dele, a ferramenta de JSON para CSV é a que achata.

Pode receber de

Em seguida

Estas aceitam o que esta ferramenta produz, então o resultado pode ir direto.