Como usar o formatador JSON
Cole um valor JSON completo e escolha a operação. Formatar e minificar analisam o documento primeiro, portanto uma entrada inválida não é reescrita silenciosamente. Validar mantém o texto original e verifica apenas a sintaxe.
- Cole um objeto, array, cadeia de texto, número, booleano ou null que siga a gramática JSON.
- Escolha recuo de dois ou quatro espaços, ou Minificar para remover espaços sem significado.
- Use Validar para uma verificação sintática e corrija primeiro a linha e coluna informadas.
- Reveja o alerta de inteiro grande antes de copiar IDs, valores exatos ou contadores.
Exemplos e comportamento esperado
| Entrada | Saída | Observações |
|---|---|---|
{"name":"Ada","active":true} |
{
"name": "Ada",
"active": true
} |
Um objeto pequeno recebe recuo uniforme e fica mais fácil de rever. |
[1,2,{"ok":false}] |
[1,2,{"ok":false}] |
A minificação remove espaços insignificantes sem alterar a ordem do array. |
{"message":"Olá 👋"} |
JSON válido |
As cadeias de texto JSON aceitam Unicode e emojis. |
{"a":1,} |
Erro perto da vírgula final |
JSON padrão não permite vírgula depois do último item. |
{"id":9007199254740993} |
Resultado com alerta de precisão |
A sintaxe é válida, mas Number não representa o inteiro exatamente. |
{"code":"alert(1)"} |
Uma cadeia de texto comum |
Texto parecido com código continua a ser dado e não é executado. |
Entrada aceite e gramática JSON
Um documento JSON contém um único valor de nível superior: objeto, array, cadeia de texto, número, true, false ou null. Os nomes de propriedades e as cadeias usam aspas duplas; aspas internas, barras invertidas e carateres de controlo têm de ser escapados. Comentários, aspas simples, undefined, NaN, Infinity, literais hexadecimais e vírgulas finais não fazem parte do JSON padrão.
Espaços, tabulações e quebras de linha são permitidos entre tokens. O formatador normaliza esse espaço, mas não ordena chaves, não renomeia propriedades nem altera o conteúdo de cadeias de texto. Chaves duplicadas são ambíguas e o analisador sintático de JavaScript normalmente preserva o último valor, por isso devem ser removidas mesmo quando o documento é aceite.
- Use UTF-8 ao trocar JSON entre sistemas.
- Represente quebras dentro de cadeias de texto com \n.
- Sintaxe válida não significa conformidade com um esquema de negócio.
Formatação, minificação e localização de erro
Formatar analisa o valor e o serializa com dois ou quatro espaços. Minificar faz a mesma análise e remove espaços e quebras desnecessários. Não são transformações textuais sem perda: chaves duplicadas, a escrita original de números e valores fora da precisão segura podem mudar ao serializar.
A validação converte a posição do analisador sintático em linha e coluna, começando em 1. Uma aspa ou vírgula ausente pode ser detetada apenas no token seguinte, pelo que a posição é uma ajuda de diagnóstico. Corrija o primeiro problema e valide novamente antes de tratar os restantes.
- A ferramenta não corrige JSON inválido automaticamente.
- Minificar não equivale a gzip nem a criptografia.
- A validação sintática não verifica campos obrigatórios ou tipos do domínio.
Inteiros grandes e precisão numérica
JSON não impõe o limite de 53 bits do JavaScript, mas o navegador converte números em números IEEE 754 de precisão dupla. Inteiros maiores que 9.007.199.254.740.991 ou menores que o negativo desse valor podem ser arredondados. A ferramenta identifica tokens inteiros grandes e exibe um alerta.
Os identificadores de bases de dados, números de conta, registos de data e hora em nanossegundos e unidades monetárias exatas devem ser guardados como cadeias de texto, a menos que todos os sistemas usem uma estratégia de precisão arbitrária acordada. A ferramenta não inventa valores BigInt, porque BigInt não é um tipo JSON e JSON.stringify não o serializa diretamente.
- Maior inteiro seguro: 9007199254740991.
- Exemplo inseguro: 9007199254740993.
- Frações decimais também seguem ponto flutuante binário.
Usos comuns e fluxo de trabalho
É útil para ler respostas de API, fragmentos de configuração, registos, conteúdos de webhook e exportações do navegador. A minificação ajuda a criar dados de teste compactos; a validação separa falhas de sintaxe de erros de esquema, permissão ou regras do servidor.
Se uma API rejeitar o documento, valide a sintaxe e depois compare nomes e tipos com o contrato. Para um diff mais limpo, formate os dois documentos com o mesmo recuo. Remova segredos e dados pessoais antes de partilhar capturas, mesmo com processamento local.
- Rever JSON gerado por scripts.
- Normalizar dados de teste antes de os integrar no código.
- Diagnosticar Unicode e estruturas aninhadas.
- Ler exemplos de API sem extensão do editor.
Erros, limites e não objetivos
Erros comuns incluem vírgulas ausentes ou a mais, cadeias de texto não fechadas, escapes inválidos, parênteses retos incompatíveis e propriedades sem aspas duplas. Documentos muito grandes ou profundos podem consumir memória ou bloquear temporariamente o separador.
Não é validador JSON Schema, motor JSONPath, comparador, JSON canónico nem analisador incremental. Não preserva comentários nem a forma original dos números. Para assinaturas, hashes ou comparação byte a byte, use os bytes originais definidos pelo protocolo.
- Não use automaticamente a saída formatada como entrada de assinatura.
- Não valida datas, URLs nem IDs dentro de cadeias de texto.
- O limite prático depende da memória do dispositivo.
Segurança e privacidade
A implementação usa JSON.parse e JSON.stringify; não usa eval, new Function nem inserção dinâmica de scripts. HTML, JavaScript, SQL ou comandos dentro de cadeias de texto permanecem texto. Esta entrega também não grava a entrada em localStorage, sessionStorage, IndexedDB ou histórico.
O processamento local reduz exposição, mas dados copiados para HTML, SQL, shell ou folha de cálculo ainda exigem as regras de escape do destino. Extensões, gravação de ecrã, gestores de área de transferência e monitorização do dispositivo também devem ser considerados.
- Remova tokens e dados pessoais antes de partilhar.
- Formatar não sanitiza HTML nem bloqueia sozinho poluição de protótipo.
- Use validação de esquema quando a estrutura for uma fronteira de segurança.
Diferenças para ferramentas relacionadas
O conversor JSON/YAML muda a serialização e restringe tipos YAML; este formatador permanece em JSON. JSON/CSV exige arrays de registos e decisões sobre cabeçalhos e aninhamento. Base64 muda a representação de bytes e hash produz um resumo unidirecional.
Use esta página para melhorar a legibilidade e verificar a sintaxe, JSON Schema para definir regras de campos, uma ferramenta de diferenças para comparar e processamento incremental para ficheiros enormes. Uma formatação bem-sucedida não valida todo o contrato de dados.