O que o Formatador de JSON faz?
O Formatador de JSON pega qualquer string JSON — uma resposta de API que você copiou de uma aba do navegador, um arquivo de configuração, uma linha de banco de dados, qualquer coisa — e expande para uma forma legível e indentada, ou comprime numa única linha. Também valida a entrada: se seu JSON tem uma vírgula sobrando, aspas faltando ou colchete não fechado, o formatador diz exatamente onde.
Cole {"name":"Alice","age":30,"hobbies":["reading","coding"]} e o formatador expande para:
{
"name": "Alice",
"age": 30,
"hobbies": [
"reading",
"coding"
]
}
Troque a direção e o formatador tira todo o espaço em branco de volta, produzindo a versão compacta de uma linha. Os dois rodam na hora no seu navegador — sem ida e volta para servidor e seus dados nunca saem da página.
Quando você vai usar o Formatador de JSON
JSON está em todo lugar no desenvolvimento web moderno, então o formatador aparece no dia a dia de várias funções:
- Pessoas de backend depurando respostas de API — cole um corpo de resposta da aba Network ou um log de servidor para ver a estrutura
- Pessoas de frontend inspecionando payloads recebidos de APIs ou webhooks antes de fazer o parse no código
- Pessoas de dados revisando saídas de pipeline, mensagens de Kafka ou registros NoSQL
- Pessoas de QA comparando respostas esperadas vs. recebidas em relatórios de falha de teste
- DevOps lendo arquivos de configuração minificados (planos do Terraform, manifestos Kubernetes, saídas do GitHub Actions) que chegam em linha única
- Quem trabalha com bancos JSON como MongoDB, DynamoDB ou colunas JSONB do PostgreSQL
O formatador também é útil no sentido inverso: quando você precisa embutir JSON dentro de outro arquivo (uma chave YAML, uma string JavaScript, um cabeçalho HTTP), minificar o JSON para uma linha costuma ser obrigatório. Os dois sentidos são um clique.
Validação é a parte subestimada. O formatador rejeita JSON malformado com um apontador preciso de erro — muito mais útil do que o críptico "SyntaxError: Unexpected token" do console do navegador. Se você está tentando entender por que sua chamada de API está falhando ou sua config não está carregando, o formatador costuma achar o bug em segundos.
Como o formatador funciona
Por baixo dos panos, o formatador passa sua entrada pelo parser nativo de JSON do navegador. JSON.parse() transforma a string em objeto JavaScript; JSON.stringify() transforma de volta em string com a indentação que você escolheu. As mesmas APIs que toda pessoa de Node.js e navegador usa, rodando no cliente.
A vantagem de usar o parser nativo é correção: o formatador segue a especificação JSON (RFC 8259) exatamente. Não há parsing de "melhor esforço" — se seu JSON tem uma vírgula final depois do último elemento de array, o formatador rejeita, porque JSON proíbe vírgulas finais. (Literais de objeto JavaScript permitem; JSON não. É uma confusão comum.)
A etapa de expansão usa indentação de 2 espaços por padrão, que combina com a convenção usada pela maioria das APIs formatadas em JSON e arquivos de configuração. Elementos individuais de array e propriedades de objeto cada um na sua linha, com aspas consistentes (sempre duplas; nunca simples).
Nada disso exige processamento de servidor — todo navegador moderno faz parse de JSON nativamente em milissegundos, mesmo para payloads grandes. O formatador lida com documentos JSON de vários MB sem atrasos.
Padrões comuns de formatação
Casos de uso diferentes pedem saídas diferentes. Veja como o formatador lida com cenários comuns:
| Entrada | Saída (expandida) | Saída (minificada) |
|---|---|---|
| Objeto simples | Multilinha com chaves indentadas | Linha única, sem espaços |
| Array de objetos | Cada objeto em seu bloco de linhas | Linha única, separado por vírgula |
| Estrutura profundamente aninhada | Indentação reflete profundidade do aninhamento | Linha única preserva profundidade via colchetes |
| Objetos / arrays vazios | {} e [] ficam em uma linha | Igual — sem espaço dentro |
| Strings com caracteres especiais | Escapadas (quebras como \n, etc.) | Mesma escapação; difere em quebra de linha |
| Números (int, float, científica) | Preservados como escritos | Preservados como escritos |
Note que o conteúdo de string é preservado exatamente. Se seu JSON contém uma string com quebras de linha embutidas (escapadas como \n no fonte), o formatador mantém como estão — não expande \n em quebras de linha reais, o que quebraria o JSON.
Números também passam sem mudança. JSON permite vários formatos de número (inteiro, decimal, notação científica), e o Formatador de JSON preserva o estilo da entrada — não normaliza 1e3 para 1000.
A ordem das propriedades na saída expandida bate com a ordem na entrada. Se você cola um objeto com chaves na ordem {name, age, email}, o formatador devolve nessa mesma ordem. A especificação JSON na verdade não obriga ordem de propriedade (parsers podem ignorar), mas a maior parte dos stringifiers — incluindo o Formatador de JSON — preserva ordem de inserção para legibilidade. Se você trabalha com código que depende de uma ordem específica de chave, essa consistência importa.
Dicas e truques
Algumas pegadinhas comuns quando se trabalha com JSON:
- Vírgulas finais são inválidas.
[1, 2, 3,]parece ok em JavaScript mas quebra JSON. Tire a última vírgula antes de colar. - Comentários não são permitidos. Linhas
// notae/* bloco */são erros de sintaxe em JSON. Tire ou use JSON5/JSONC se sua ferramenta suporta (a maioria não suporta). - Aspas simples não funcionam. Chaves e valores de string em JSON precisam de aspas duplas.
{'name':'Alice'}não faz parse. - Chaves sem aspas não são permitidas.
{name: "Alice"}é literal de objeto JavaScript, não JSON. JSON exige aspas em todas as chaves. - Números não podem ter zeros à esquerda.
007é válido em algumas linguagens mas inválido em JSON. Use"007"como string se zeros à esquerda importam.
Dica: se você está copiando JSON da aba Network de um navegador, use "Copy → Copy response" em vez de destacar e copiar manualmente. Seleção manual às vezes pega caracteres Unicode ocultos ou códigos de controle de terminal que quebram o parsing.
Arquivos JSON grandes (1MB+) funcionam bem no formatador, mas a saída fica muito longa muito rápido. Se você está tentando inspecionar uma estrutura profundamente aninhada dentro de um documento gigante, considere uma ferramenta que suporta colapsar ramos — o formatador é melhor para formatação e validação ponta a ponta, não para exploração interativa de documentos enormes.
Ferramentas relacionadas para desenvolvedores
O Formatador de JSON combina bem com várias outras ferramentas de dev do Microapp:
- Conversor CSV para JSON — transforma dados de planilha em arrays JSON de objetos, prontos para formatar e usar como fixtures de teste ou dados de seed.
- Conversor JSON para CSV — achata arrays JSON em linhas CSV para revisão em planilha ou ferramentas de análise.
- Codificador/Decodificador Base64 — para codificar payloads JSON dentro de tokens JWT, data URIs ou outros contextos envolvidos em base64.
- Codificador/Decodificador de URL — quando você precisa embutir JSON com segurança em parâmetros de query.
- Testador de Regex — para extrair valores específicos de strings JSON quando você precisa de match por padrão em vez de parse.
Perguntas frequentes
Meu JSON é enviado para algum servidor?
Não. O formatador usa as APIs nativas do navegador JSON.parse e JSON.stringify, ambas rodando totalmente no cliente. Seus dados nunca cruzam a rede. Fechar a aba apaga tudo.
Qual o tamanho máximo de JSON que o formatador aguenta?
Na prática, qualquer coisa que seu navegador consiga segurar na memória — normalmente várias centenas de MB antes do desempenho cair. Documentos de vários MB formatam na hora. Acima de ~50MB você pode ver pequenos atrasos enquanto o navegador particiona o trabalho.
Por que o formatador rejeita meu JSON quando ele parece certo?
Causas mais comuns: vírgulas finais ([1, 2, 3,]), comentários (// nota), aspas simples em vez de duplas, ou chaves de objeto sem aspas. JSON é mais estrito que literais de objeto JavaScript — recursos que funcionam em código JS nem sempre são JSON válido.
Posso customizar a indentação (tab vs espaço, 2 vs 4 espaços)?
O formatador atualmente usa indentação de 2 espaços, que combina com a convenção usada pela maioria das APIs em JSON (Stripe, GitHub, Twilio). Se seu time usa 4 espaços ou tab, passe a saída pelo reformatador do seu editor depois de colar.
O formatador valida JSON Schema?
Não. O formatador valida sintaxe JSON (faz parse?), não JSON Schema (combina com uma definição de schema específica?). Para validação de schema, use uma ferramenta dedicada como Ajv ou json-schema-validator.
Qual a diferença entre JSON minificado e compacto?
São a mesma coisa. "Minificado" enfatiza a redução de tamanho (útil para payloads HTTP, taxas de gzip); "compacto" enfatiza a aparência visual (linha única). Ambos produzem saída idêntica: JSON.stringify(parsed) sem espaço em branco.
O formatador aceita JSON5 ou JSONC?
Não — esses são supersets de JSON que permitem comentários, vírgulas finais e outra sintaxe relaxada. O formatador segue JSON RFC 8259 estrito. Para trabalhar com JSON5/JSONC, tire os comentários e vírgulas finais primeiro, ou use uma ferramenta que entende JSON5 como o pacote npm json5.
O Formatador de JSON vai alterar meus dados?
Ele só reescreve espaço em branco. Chaves de objeto, valores de string, números, booleanos e null todos passam sem mudança. As saídas expandida e minificada fazem parse para objetos JavaScript idênticos — são representações equivalentes dos mesmos dados.
Posso usar o formatador para validar JSON sem alterá-lo?
Sim — cole a entrada, veja se faz parse com sucesso. Se o Formatador de JSON aceita sua entrada sem erro, o JSON é sintaticamente válido. (Para validação semântica contra um schema, use um validador de JSON Schema.)
Por que o formatador expande meu JSON em indentação de 2 espaços especificamente?
Indentação de 2 espaços combina com a convenção usada pela maioria das APIs em JSON e ferramentas de dev (Stripe, GitHub, Twilio, padrão do JSON.stringify). É compacta o bastante para manter estruturas profundamente aninhadas legíveis sem desperdiçar espaço horizontal, e é o que a maioria dos editores de código espera ao reformatar JSON colado. Se o guia de estilo do seu time é diferente, passe a saída do formatador pelo reformatador do seu editor para consistência.