Ir para o conteúdo principal

Formatador JSON (JSON Formatter)

Execute Formatar ou Minificar para ver o resultado aqui.

Formate JSON com um layout consistente: indentação uniforme, um valor por linha e os seus valores intactos. Usa o mesmo formatador do JSON Beautifier.

O que ela faz

O JSON Formatter reescreve o JSON para que uma pessoa consiga lê-lo: um valor por linha, valores aninhados com recuo e espaçamento uniforme. Só mudam os espaços e as quebras de linha. Cada nome, string, número, true, false e null continua exatamente como você escreveu.

Use-o para JSON que você mantém e edita, como um arquivo de configuração, um fixture de teste ou um exemplo de API, para que todo arquivo tenha o mesmo layout e um diff mostre o que você mudou e não como as linhas estavam espaçadas. O JSON Beautifier usa este mesmo formatador, com as mesmas opções, e dá o mesmo resultado; abra aquela página quando o problema for uma linha espremida e difícil de ler.

O que ela aceita

  • Qualquer JSON válido: um objeto, uma lista, uma string, um número, true, false ou null pode ser o texto inteiro.
  • Apenas JSON estrito, como o padrão o define: nomes e strings entre aspas duplas, sem comentários, sem vírgulas finais, sem aspas simples.
  • Os números são copiados caractere por caractere, então 9007199254740993, 2.370, 1e400 e -0 saem exatamente como entraram. Strings e nomes mantêm os escapes originais, como \u00e9.
  • Indentação de 2 ou 4 espaços. As quebras de linha do resultado são sempre do mesmo tipo, qualquer que seja o do seu texto. Formatar um resultado de novo gera o mesmo texto.
  • “Minificar” remove apenas os espaços e as quebras de linha entre os valores. Os espaços dentro das strings são mantidos.
  • Um nome repetido dentro de um objeto é mantido todas as vezes, na ordem, com um aviso. A árvore marca cada nome repetido com “Chave duplicada”.
  • Uma string com um escape substituto (surrogate) sem par, como \ud800, também é mantida como foi escrita, com um aviso.

Bom saber

  • Estrito é estrito. Um JSON copiado de código JavaScript, de arquivos que permitem comentários ou de editores que acrescentam uma vírgula final é recusado, e a ferramenta aponta o primeiro problema.
  • Só duas correções são oferecidas: remover uma marca de ordem de bytes (BOM) invisível no começo do texto e remover vírgulas finais. Você vê a mudança primeiro, e nada muda até você apertar “Aplicar correção e executar de novo”.
  • A árvore aparece depois de “Formatar”, não depois de “Minificar”. Se o JSON tiver valores demais para a árvore, uma nota a substitui e o resultado em texto continua completo.
  • O formatador nunca corrige mais nada, nunca adivinha um valor que falta e nunca ordena nem remove nomes.

Como usar

  1. Cole ou digite o seu JSON na caixa de entrada. Nada é executado enquanto você digita.
  2. Escolha a indentação (“2 espaços” ou “4 espaços”) e aperte “Formatar”. Aperte “Minificar” para fazer o oposto: o mesmo JSON em uma só linha, sem espaços extras.
  3. Leia o resultado ao lado da entrada. Abaixo dele, a “Árvore” mostra os mesmos dados como linhas aninhadas que você abre e fecha. O primeiro nível começa aberto, e “Expandir tudo” e “Recolher tudo” abrem ou fecham todos os ramos de uma vez.
  4. Aperte “Copiar” para colocar o resultado na área de transferência, ou “Baixar” para salvá-lo como formatted.json (minified.json depois de “Minificar”).

Exemplos

Levar um arquivo editado à mão a um só layout

Cole este JSON, editado à mão com espaçamento irregular, e aperte “Formatar” com “2 espaços” selecionado. A indentação e os espaços em volta de dois-pontos e colchetes são refeitos, e cada valor ganha a sua própria linha. Os nomes, os valores e a ordem deles continuam como estavam.

{
    "name" :  "Ana",
  "tags":[ "a",
"b" ],

      "active":true }
{
  "name": "Ana",
  "tags": [
    "a",
    "b"
  ],
  "active": true
}

Uma vírgula final

Este texto tem uma vírgula logo antes da chave de fechamento, o que o JSON não permite. A ferramenta para no primeiro problema e aponta onde ele está.

{"name": "Ana",}

O JSON não permite vírgula antes de uma chave ou colchete de fechamento (vírgula final).

Linha 1, coluna 16

Números e escapes ficam como foram escritos

Um formatador não pode mexer nos seus dados. Aqui 2.370 mantém o último zero, 9007199254740993 mantém todos os dígitos (um número do JavaScript o arredondaria) e \u00e9 continua sendo um escape em vez de virar é.

{"price":2.370,"id":9007199254740993,"label":"caf\u00e9"}
{
  "price": 2.370,
  "id": 9007199254740993,
  "label": "caf\u00e9"
}

Limites e privacidade

Limites de tamanho

  • Entrada: até 2.000.000 bytes de texto em UTF-8 (cerca de 2 MB). Letras acentuadas e emojis ocupam mais de um byte cada. Uma entrada maior é recusada.
  • Resultado: também até 2.000.000 bytes. Se o resultado completo fosse maior, a ferramenta mostra apenas uma prévia incompleta dos primeiros 100.000 bytes, e essa prévia não pode ser copiada nem baixada.
  • Aninhamento: até 256 níveis de objetos e listas dentro uns dos outros. Um JSON mais profundo é recusado porque passa do que a ferramenta processa.
  • Tempo: uma execução que demora mais que o seu limite de tempo é interrompida. Tente uma entrada menor.

Sua privacidade

O texto que você digita ou cola, ou abre de um arquivo local, é processado localmente no seu navegador, em um Web Worker dedicado. Ele nunca é enviado para o servidor (um arquivo que você abre é lido apenas no seu navegador) e não é gravado em armazenamento, cookies nem na barra de endereços.

“Copiar” coloca o resultado na área de transferência e “Baixar” o salva como arquivo, mas só quando você aperta o botão. O arquivo é criado no seu navegador, então nada é enviado.

Para ver os detalhes completos, consulte a Política de Privacidade

Ferramentas e páginas relacionadas

O seu texto continua na página quando você troca de ferramenta na mesma aba, então dá para testar o mesmo texto em outra. Recarregar ou fechar a aba o encerra.

Todas as ferramentas