Lição 6
JSON em APIs e configs
Payloads REST, arquivos de config e JSON vs XML e YAML.
Entender JSON no contexto ajuda a escolher formatos com critério e a ler documentação com mais eficiência.
APIs REST
APIs HTTP costumam usar JSON em bodies e, às vezes, em payloads POST sem query string:
POST /users HTTP/1.1
Content-Type: application/json
{"name": "Ada", "role": "admin"}
Respostas seguem o mesmo formato. Status codes ficam nos headers HTTP; o JSON carrega os dados de negócio. Schemas podem ser documentados com OpenAPI, JSON Schema ou exemplos em prosa.
Arquivos de configuração
Ferramentas como package.json, tsconfig.json e muitos configs de CI são JSON. Benefícios:
- Fácil de parsear por programas
- Amplo suporte em editores
- Diff amigável no controle de versão quando formatado
Trade-off: sem comentários em JSON estrito (algumas ferramentas aceitam JSONC — um superset com comentários — mas configs portáveis seguem JSON padrão).
JSON vs XML
| JSON | XML | |
|---|---|---|
| Verbosidade | Em geral mais curto | Muitas vezes mais tags |
| Tipos | Mínimos (string, number, …) | Atributos + nós de texto |
| Schema | JSON Schema, OpenAPI | XSD, DTD |
| Uso típico hoje | Web APIs | Enterprise legado, documentos |
JSON vs YAML
YAML é amigável para configs e suporta comentários. É comum em Kubernetes e Docker Compose. Armadilhas: sensível a indentação, mais difícil de parsear com segurança em escala. JSON é mais estrito e mais seguro para input não confiável; YAML costuma ser escolhido quando humanos editam configs grandes manualmente.
Nota de segurança
Nunca use eval() em texto JSON — faça parse com uma biblioteca dedicada. Para payloads não confiáveis, valide contra um schema e limite o tamanho para reduzir risco de negação de serviço.
Resumo do curso
Você agora tem base em sintaxe JSON, tipos, estrutura, erros comuns e uso no mundo real. Aplique isso ao ler docs de API, desenhar payloads ou revisar mudanças de config em pull requests.