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
- Cole ou digite o seu JSON na caixa de entrada. Nada é executado enquanto você digita.
- 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.
- 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.
- 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.