Como usar o formatador JSON
- Cole seu JSON bruto ou minificado no campo de entrada à esquerda.
- Clique em Formatar para embelezar com indentação de 2 espaços, ou Minificar para comprimir em uma linha.
- Clique em Validar para verificar a sintaxe sem modificar o JSON.
- Clique em Copiar para copiar a saída para a área de transferência.
Formatar, minificar ou validar: qual a diferença?
Formatar (também chamado de beautification ou pretty-printing) adiciona indentação e quebras de linha consistentes. Os dados não mudam, apenas o espaço em branco. O resultado é um JSON legível, fácil de navegar e depurar.
Minificar remove todos os espaços desnecessários: espaços, tabulações e quebras de linha. Um JSON minificado é menor e mais rápido de transmitir. As respostas de API costumam ser minificadas por esse motivo.
Validar verifica se o JSON é sintaticamente correto conforme a especificação RFC 8259. Uma mensagem de erro aponta a posição exata do problema para que você possa corrigi-lo rapidamente.
Erros JSON mais comuns
- Vírgula final:
{"a":1,}não é JSON válido. Remova a última vírgula. - Chaves sem aspas:
{a:1}não é JSON. As chaves devem estar entre aspas duplas:{"a":1}. - Aspas simples: JSON exige aspas duplas para strings. Aspas simples não são permitidas.
- Comentários: JSON não tem sintaxe de comentários. Remova qualquer
//ou/* */antes de validar. - NaN / Infinity: Esses valores JavaScript não são JSON válido. Use
nullno lugar.
Quando usar cada ação?
- Use Formatar ao ler uma resposta de API, revisar um arquivo de configuração ou depurar dados.
- Use Minificar antes de incorporar JSON em código-fonte ou enviá-lo pela rede.
- Use Validar quando uma API rejeitar sua solicitação ou um analisador lançar um erro inesperado.
Privacidade
Todo o processamento ocorre no seu navegador. Seu JSON nunca sai do seu dispositivo, nada é enviado, armazenado ou registrado.
JSON nao é JavaScript, tipos que nao existem em JSON
JSON é um subconjunto estrito da sintaxe JavaScript, mas nao suporta vários tipos de JavaScript que os programadores tentam incluir habitualmente:
- Datas: JSON nao tem tipo data. A convenção sao strings ISO 8601 (
"2024-06-05T12:00:00Z"), mas esse formato nao faz parte do padrão JSON. Diferentes APIs e bibliotecas analisam datas de forma diferente. - Infinity e NaN: Estes valores numéricos de JavaScript nao sao JSON válido. Substitua-os por
nullantes de serializar. - undefined: Chaves de objeto com valor
undefinedsao omitidas silenciosamente peloJSON.stringify, fonte frequente de bugs de campos ausentes. - Comentários: O JSON padrão (RFC 8259) nao permite comentários. Para comentários, use JSON5 ou JSONC (usado pelas definicoes do VS Code). Nenhum é JSON válido.
- Vírgulas finais: Permitidas em JavaScript, inválidas em JSON. Algumas APIs rejeitam o payload sem notificacao.
Precisao de números grandes
Os números JSON nao sao tipados, mas a maioria dos parsers usa floats IEEE 754 de 64 bits. Inteiros maiores que 253 - 1 (9.007.199.254.740.991) perdem precisao ao serem analisados com JSON.parse em JavaScript. Bases de dados frequentemente retornam IDs como inteiros grandes, causando corrupção silenciosa de dados no navegador. A solucao é transmiti-los como strings e analisá-los com uma biblioteca compatível com BigInt.