Lição 12
Indentação e quebras de linha
Quando formatar ajuda humanos, quando bytes minificados importam e convenções de equipe.
JSON não exige espaço em branco entre tokens. Indentação e quebras de linha são escolhas editoriais — não mudam valores parseados, mas mudam como humanos e ferramentas de diff percebem o documento.
Duas representações, mesmos dados
Compacto:
{"user":{"name":"Ada","roles":["admin","editor"]}}
Indentado (2 espaços):
{
"user": {
"name": "Ada",
"roles": ["admin", "editor"]
}
}
Parsers tratam ambos como equivalentes; revisores preferem o segundo em pull requests.
Convenções de equipe
Padrões comuns:
- 2 espaços — padrão em muitos projetos JavaScript e web
- 4 espaços — alguns guias de estilo enterprise
- Tab — raro em JSON porque muitos linters esperam espaços
Escolha uma largura por repositório e aplique em CI com checagem de formatter.
Quando manter compacto
- Bodies HTTP de produção onde bandwidth é monitorada
- Configs embutidos com limites rígidos de tamanho
- Caminhos máquina-a-máquina sem leitor humano
Armazene compacto na rede; formate em logs ou builds de debug se precisar.
Layout amigável a diff
Ordem estável de chaves mais indentação consistente torna regressões visíveis em code review. Ordem aleatória de chaves ou espaçamento misto cria diffs ruidosos que escondem mudanças reais de lógica.
Trate layout como comunicação para humanos, não como parte do modelo de dados JSON.