Formatador JSON
Cole um blob JSON — minificado, escapado ou diretamente de uma linha de log — e obtenha-o formatado de forma bonita com o tamanho de indentação que você escolher. Valida na análise e mostra a linha e coluna exatas de qualquer erro. Opcionalmente, ordene as chaves do objeto alfabeticamente, o que torna as diferenças entre duas respostas de API muito mais fáceis de ler.
Como formatar JSON
-
1
Cole o JSON
Minificado, escapado dentro de uma string ou envolto em um callback JSONP — o parser remove tudo isso.
-
2
Escolha a indentação
2 espaços, 4 espaços, uma tabulação ou compacto (uma linha para cargas pequenas).
-
3
Ativar ordenação de chaves
Ordene as chaves do objeto alfabeticamente para facilitar a comparação entre duas respostas.
-
4
Copiar ou baixar
Cópia com um clique para a área de transferência ou salve como um arquivo `.json`.
O que o formatador lida
- Entrada minificada:
{"a":1,"b":[1,2,3]}se torna devidamente indentada. - JSON escapado em strings: uma string JSON que contém
"{\"nested\":true}"pode ser desembrulhada e formatada. - Callbacks JSONP:
callback({...})é removido para apenas{...}. - BOM e espaços em branco iniciais: removidos automaticamente.
- Comentários: comentários no estilo JSONC
//e/* */são tolerados no modo “leniente”, mas removidos da saída (JSON estrito não tem comentários).
Por que formatar JSON de forma bonita
- Diferenças: um documento JSON de uma linha com milhares de chaves é ilegível em um
git diff. Formatado de forma bonita, cada chave é uma linha. - Depuração: estruturas aninhadas são mais fáceis de navegar visualmente com indentação.
- Documentação: exemplos de API devem sempre ser formatados, ordenados e estáveis em reedições.
- Configs: arquivos de configuração JSON devem ser formatados de forma bonita no repositório para legibilidade; o tempo de execução pode analisar qualquer forma.
Convenções de indentação
| Contexto | Indentação típica |
|---|---|
npm package.json |
2 espaços |
| AWS CloudFormation | 2 espaços |
| Java / .NET legado | 4 espaços |
| Configs em VCS | 2 espaços (consistência em todo o projeto é o mais importante) |
Ordenar chaves é controverso: torna as diferenças mais limpas, mas muda a ordem em disco das configs canônicas. Escolha uma convenção de projeto e mantenha-se fiel a ela.
Erros de validação que você verá
| Erro | Correção |
|---|---|
Token inesperado ' na posição X |
Você usou aspas simples; mude para aspas duplas |
Fim inesperado da entrada JSON |
Chave ou colchete de fechamento ausente |
Token inesperado , na posição X |
Vírgula final; remova-a |
Token inesperado a na posição X |
Chave não citada ou literal NaN/undefined |
Chave duplicada "foo" (modo leniente) |
A especificação JSON permite; a maioria dos parsers mantém a última |
Erros comuns
- Copiando JSON com entidades HTML.
"não será analisado; decodifique primeiro. - Misturando estrito e leniente. Use análise leniente apenas para inspeção; nunca salve JSON leniente em configs de produção.
- Formatando um arquivo já formatado de forma bonita em um estilo diferente. O formatador fará isso felizmente, mas você criará uma diferença barulhenta.
Perguntas frequentes
Não. A análise e formatação ocorrem no seu navegador. O conteúdo nunca sai da sua aba — seguro para colar respostas de API com tokens, configs internas ou cargas de teste.
O formatador imprime JSON válido de forma bonita. O validador verifica contra um esquema JSON. Ambos realizam uma verificação de análise, mas a validação é uma etapa separada que pergunta “isso corresponde ao meu esquema?” em vez de apenas “isso é JSON válido?”.
Sim. A opção “ordenar chaves” ordena todas as chaves do objeto em cada nível de aninhamento, recursivamente. Arrays mantêm sua ordem original porque a ordem do array é semanticamente significativa em JSON.
Limitado pela memória do navegador. Até ~50 MB funciona em hardware moderno. Além disso, considere jq na linha de comando — ele faz streaming em vez de carregar todo o documento.