Como formatar JSON com a ferramenta
Para formatar JSON, cole o texto na caixa de entrada, seja a resposta de uma API, um trecho de log ou um arquivo de configuração. Depois escolha a ação. Formatar reorganiza a identação com 2 ou 4 espaços por nível e coloca cada chave em uma linha própria, deixando a estrutura fácil de acompanhar. Minificar faz o contrário e tira todo espaço desnecessário, o que ajuda quando o JSON precisa ir para uma URL, uma variável de ambiente ou o corpo de uma requisição.
Quando o resultado estiver certo, clique no botão de copiar para mandar tudo para a área de transferência. Como o processamento acontece dentro da aba do navegador, dá para formatar JSON com credenciais, endereços internos ou dados pessoais sem enviar nada para serviços de terceiros.
Como funciona
Primeiro a ferramenta lê o texto com o parser de JSON embutido no navegador, o mesmo validador rígido usado pelo JSON.parse no JavaScript. Se a leitura der certo, os dados são escritos de novo com a identação escolhida, ou sem nenhuma no caso da minificação. Como a saída é gerada a partir dos dados interpretados, e não mexendo em caracteres, o resultado é sempre um JSON válido.
Se a leitura falhar, aparecem a linha e a coluna em que o parser parou. Essa posição costuma ficar logo depois do erro de verdade, então confira também o fim da linha anterior.
Veja um exemplo antes e depois, com 2 espaços:
{"cliente":"Ana Souza","cep":"01310-100","pix":true,"compras":[129.9,48.5]}
{
"cliente": "Ana Souza",
"cep": "01310-100",
"pix": true,
"compras": [
129.9,
48.5
]
}
Erros comuns e como corrigir
- Vírgula sobrando no final.
[1, 2, 3,]passa no JavaScript moderno, mas é inválido em JSON. Apague a vírgula depois do último item de cada array e objeto. - Aspas simples. Chaves e strings usam aspas duplas:
"cidade", não'cidade'. - Chave sem aspas.
{estoque: 12}precisa virar{"estoque": 12}. - Comentários. Nem
//nem/* */são permitidos. Se precisar de anotações em um arquivo de configuração, prefira JSONC ou YAML, ou guarde a nota como um campo de texto comum. - Valores especiais.
undefined,NaNeInfinitynão existem em JSON; usenullou um número no lugar.
Vale saber também: como os números são lidos como números do JavaScript, inteiros maiores que 9.007.199.254.740.991 podem perder precisão ao serem reformatados. Se você trabalha com IDs muito longos, guarde-os como string.