Lição 2
YAML vs JSON
Escolha o formato certo para configs e APIs.
YAML e JSON podem representar o mesmo modelo de dados, mas otimizam workflows diferentes.
Legibilidade
O YAML remove chaves e aspas nos casos comuns, o que torna configs grandes mais fáceis de escanear:
database:
host: localhost
port: 5432
O equivalente em JSON é válido, mas mais ruidoso para editores humanos.
Rigor
JSON é mais estrito e mais fácil de fazer parse com segurança em escala. Por isso muitas APIs usam JSON para input não confiável, enquanto YAML é comum em repositórios de config confiáveis e mantidos por humanos.
Comentários e vírgulas finais
YAML permite comentários com #. JSON padrão não permite. Isso importa quando equipes documentam flags não óbvias diretamente em arquivos CI ou Helm.
Workflows de conversão
Equipes frequentemente:
- Exportam JSON de uma API ou gerador
- Convertem para YAML para edições manuais
- Convertem de volta para JSON para ferramentas que só aceitam JSON
A conversão round-trip preserva dados, mas ordem de chaves, quoting e comentários podem mudar. Sempre revise diffs após a conversão.
Quando preferir JSON
- APIs HTTP públicas e payloads voltados ao browser
- Logs e eventos gerados por máquina
- Pipelines que devem rejeitar tipagem ambígua
Quando preferir YAML
- Arquivos Kubernetes e Compose versionados no git
- Definições de workflow CI editadas por desenvolvedores
- Config de aplicação com comentários e strings multilinha