RevealTheme logo

Formatador e Validador de JSON

Formate, embeleze, valide e minifique JSON. Executa inteiramente no seu navegador, então seus dados nunca saem do seu dispositivo.

Como usar esta ferramenta

  1. 1

    Cole seu JSON no campo de entrada.

  2. 2

    Clique em Formatar para exibi-lo identado e legível, ou em Minificar para remover os espaços em branco.

  3. 3

    Os erros apontam a linha e a coluna exatas onde a análise falhou.

  4. 4

    Copie o resultado para a área de transferência.

O que é JSON e por que dar formato a ele importa?

JSON (JavaScript Object Notation) é a língua franca das APIs web modernas, dos arquivos de configuração e do registro estruturado de eventos. Toda API REST e GraphQL retorna JSON; cada package.json, tsconfig.json e a maioria das configurações de CI são JSON; AWS, GCP e Azure falam JSON em suas CLIs. A força do JSON é sua gramática mínima: seis caracteres estruturais ({}, [], vírgula, dois-pontos, aspas), quatro tipos primitivos (cadeia, número, booleano e null) e aninhamento recursivo. Esse minimalismo é também sua desvantagem: JSON não admite comentários, nem vírgulas finais, nem chaves sem aspas, nem cadeias de várias linhas. Uma única aspa ou vírgula mal colocada quebra o documento inteiro. Esta ferramenta valida a entrada conforme a RFC 8259 (a especificação do JSON) e depois a apresenta com indentação coerente para leitura, ou remove todos os espaços em branco para a transmissão pela rede. A análise e a formatação executam inteiramente no seu navegador por meio das funções nativas JSON.parse e JSON.stringify do motor de JavaScript, o mesmo código que roda nos servidores Node.js e em todos os navegadores. Isso significa que seus dados nunca trafegam pela rede e que o comportamento de validação aqui corresponde exatamente ao que o seu código verá em produção.

Casos de uso comuns

  • Depure respostas de API colando-as no formatador: veja instantaneamente a estrutura que o JSON minificado esconde.

  • Valide JSON antes de enviá-lo a um consumidor rígido (AWS CloudFormation, manifestos do Kubernetes, etc.).

  • Formate de modo legível os logs de bibliotecas de logging estruturado (Pino, Bunyan) que emitem JSON em uma única linha.

  • Minifique arquivos de configuração antes de incorporá-los em HTML ou variáveis de ambiente (menores, com menos bytes a serem analisados).

  • Formate as cargas úteis de JSON Web Token após decodificá-las de base64.

  • Compare duas respostas de API formatando ambas e verificando suas diferenças.

Perguntas frequentes

Meu JSON sai do navegador?
Não. Toda a análise e a formatação acontecem no seu navegador por meio das funções integradas JSON.parse e JSON.stringify. Os dados nunca chegam a um servidor nem aparecem em registros. É seguro usá-lo com respostas de API que contenham tokens, dados de clientes ou outros segredos.
Posso formatar JSON5 ou JSONC (com comentários)?
Não: esta ferramenta segue a especificação estrita de JSON (RFC 8259). Os comentários e as vírgulas finais são erros de sintaxe e produzirão uma mensagem de erro do analisador. Para variantes flexíveis de JSON, use um analisador JSON5 como o json5.org, ou passe sua entrada por um pré-processador que remova os comentários primeiro.
Que tamanho de indentação devo usar?
2 espaços é a convenção de JavaScript e da web, e a mais universal. 4 espaços é o padrão do ecossistema de Python (corresponde à indentação da PEP 8). As tabulações são representadas de forma inconsistente entre editores e quebram as ferramentas de comparação; evite-as, a menos que a sua equipe tenha uma convenção estrita de tabulação. A escolha é puramente estética; os analisadores não se importam com ela.
Por que o JSON minificado importa?
O JSON minificado economiza bytes, algo significativo em grande escala (por exemplo, uma API pública que retorna 100 KB de dados a milhões de requisições). Para arquivos de configuração pequenos (de poucos KB), a diferença é insignificante. Os tempos de análise do navegador são idênticos para JSON formatado e minificado, então a única razão para minificar é a largura de banda.
Como interpreto as mensagens de erro?
As mensagens de erro do JSON.parse de JavaScript incluem a posição (deslocamento a partir do início) onde a análise falhou. Erros comuns: 'Unexpected token' costuma indicar uma aspa ou vírgula faltando, ou um caractere especial sem escape. 'Unexpected end of JSON input' significa que o documento está truncado. 'Unexpected non-whitespace character' frequentemente indica uma vírgula final.
Posso formatar arquivos JSON muito grandes?
O JSON.parse do navegador lida com arquivos de até cerca de 100 MB antes que o desempenho fique problemático. Para arquivos maiores, use o jq na linha de comando: ele pode processar em streaming arquivos JSON arbitrariamente grandes.
Qual é a diferença entre JSON e os objetos literais de JavaScript?
JSON é um subconjunto estrito da sintaxe de objetos literais de JavaScript. Diferenças: as chaves de JSON devem ser cadeias entre aspas duplas (o JS permite chaves sem aspas e aspas simples); JSON proíbe comentários, vírgulas finais e undefined; JSON não tem expressões, chamadas a funções nem valores calculados. JavaScript pode avaliar JSON com segurança; JSON não pode avaliar JavaScript arbitrário.

Ferramentas relacionadas