DevToolPal
PT

Conversor de JSON Lines para JSON

Converta JSON Lines (JSONL, NDJSON) em um array JSON e um array JSON de volta em JSON Lines, com erros numerados por linha.

Roda localmente, nada é enviado

Opções

Direção
Indentação

Entrada

0 caracteres · 0 B

Saída

0 caracteres · 0 B

O que faz

JSON Lines (também chamado JSONL ou NDJSON) guarda um valor JSON por linha. É o formato preferido para logs, exportações de dados, APIs de streaming, cargas em massa no BigQuery e no Elasticsearch e conjuntos de dados de machine learning, como os arquivos de fine-tuning da OpenAI, porque um programa consegue ler ou acrescentar um registro de cada vez sem carregar o arquivo inteiro.

Muitas ferramentas, porém, esperam um único array JSON. Este conversor transforma JSON Lines em um array JSON formatado e transforma um array JSON de volta em JSON Lines, com um registro compacto por linha.

Como usar

  1. Escolha a Direção: JSON Lines → JSON ou JSON → JSON Lines.
  2. Cole seus dados, envie um arquivo .jsonl, .ndjson ou .json, ou clique em Exemplo.
  3. Para saída JSON, escolha 2 ou 4 espaços de indentação, ou Compacto para uma única linha.
  4. Copie ou baixe o resultado, ou use Usar como entrada para converter de volta.

Se uma linha não for JSON válido, o erro informa o número da linha e a coluna, para você ir direto ao registro quebrado — útil quando um log tem uma entrada truncada entre milhares.

Exemplo

Estas três linhas de JSON Lines:

{"id": 1, "event": "signup"}
{"id": 2, "event": "login"}
{"id": 3, "event": "logout"}

viram este array JSON:

[
  {
    "id": 1,
    "event": "signup"
  },
  {
    "id": 2,
    "event": "login"
  },
  {
    "id": 3,
    "event": "logout"
  }
]

Na direção contrária, cada elemento do array é escrito em uma linha, sem espaços, e o arquivo termina com uma quebra de linha.

Quando usar cada um

Use JSON Lines quando os registros são produzidos ou consumidos um de cada vez: acrescentar a logs, transmitir resultados, dividir um grande conjunto de dados entre workers ou processar com ferramentas por linha como grep, head e wc -l. Use um array JSON quando um programa precisa da coleção inteira de uma vez, como um arquivo de configuração, dados de teste ou o corpo de resposta de um endpoint REST.

Perguntas frequentes

› Qual a diferença entre JSONL, NDJSON e JSON Lines?

São nomes do mesmo formato: um valor JSON completo por linha, separado por quebras de linha. JSON Lines (.jsonl) e JSON delimitado por nova linha (.ndjson) diferem só no nome e na extensão.

› Linhas em branco são permitidas?

Linhas em branco e a quebra de linha final são ignoradas na leitura. Quebras de linha do Windows (CRLF) e o BOM do UTF-8 também são tratados.

› Meu arquivo é JSON formatado, com um objeto ocupando várias linhas. Por que dá erro?

Em JSON Lines cada valor precisa caber em uma única linha. Se a entrada é um array JSON comum, mude a direção para JSON → JSON Lines; se é uma sequência de objetos formatados, coloque-os primeiro em um array.

› A conversão altera números ou a ordem das chaves?

Não. Os valores e a ordem das chaves são mantidos; só os espaços mudam. Inteiros muito grandes, além do intervalo seguro do JavaScript (cerca de 9 quatrilhões), podem perder precisão, como em qualquer ferramenta JSON no navegador.