Artigo completo
JSON legível e JSON otimizado são duas necessidades opostas do mesmo formato. Enquanto se desenvolve, queremos indentação clara, quebras de linha e hierarquia visível para inspecionar rapidamente. Em produção, queremos o oposto: uma única linha compacta, sem espaços supérfluos, para poupar bytes na rede e microssegundos na parse. Este formatador cobre ambos os casos.
A formatação (pretty-print) reindenta o JSON com o número de espaços que escolher — 2 é o padrão comum em APIs REST, 4 é frequente em projetos Python, 0 produz uma versão minificada. A minificação remove todo o whitespace irrelevante, produzindo a menor representação válida possível do documento. Em ambos os casos, o JSON é primeiro parseado — o que garante que o resultado é sempre sintaticamente válido, aproveitando implicitamente também como validador.
A economia da minificação é real: um documento típico com 500 chaves pode reduzir de 50 KB para 35 KB, uma poupança de 30% que, multiplicada por milhões de requests, tem impacto significativo na largura de banda e no tempo de resposta. Depois de gzip a diferença esbate-se (o algoritmo remove naturalmente redundância de whitespace), mas antes de gzip há claros benefícios em serialização.
Boas práticas: use indentação 2 para APIs públicas e formatos de configuração; minifique sempre em produção quando o JSON é servido via HTTP; guarde a versão formatada no repositório de código (mais fácil de rever em pull requests) e sirva a versão minificada em runtime; nunca misture indentação com tabs e espaços; se o consumidor for humano, prefira YAML ou JSON5 comentado.
Todo o processamento acontece no seu navegador — o JSON nunca sai do dispositivo. Pode formatar payloads confidenciais sem qualquer risco. A operação é praticamente instantânea mesmo com documentos de vários megabytes; o único limite é a memória disponível.