Lição 10
Parse: texto para valores no programa
Como parsers montam estruturas em memória e o que pode falhar antes do seu código rodar.
Parse é a etapa que transforma texto JSON em valores que seu programa pode usar — objetos, arrays, strings e números em memória. Toda linguagem oferece biblioteca ou built-in para isso; a ideia é a mesma mesmo quando o nome da API muda.
O que o parse produz
Texto de entrada:
{"id": 7, "tags": ["api", "draft"]}
Após parse bem-sucedido, seu runtime mantém uma estrutura que você pode indexar: id é um número, tags é uma lista de strings. Até o parse terminar, o texto é só uma string — inseguro tratar como dado.
Modos de falha típicos
| Problema | Sintoma |
|---|---|
| Erro de sintaxe | Parser lança ou retorna erro com linha/coluna |
| UTF-8 inválido | Erro de decode antes das regras JSON |
| Input enorme | Limites de memória ou tempo no parser |
| Chaves duplicadas | Último valor vence em muitos parsers — perda silenciosa de dados |
Parse valida apenas sintaxe. Não garante significado de negócio (ID errado, campo ausente) — isso exige checagens de schema ou lógica de aplicação.
Parse vs validar vs transformar
- Parse — Este texto é JSON válido?
- Validar (opcional) — Combina com schema ou campos obrigatórios?
- Transformar — Mapear para tipos de domínio (datas, decimais, enums)
Mantenha essas etapas separadas em pipelines de produção para classificar erros com facilidade.
Nota de segurança
Nunca avalie texto JSON como código (sem eval). Use um parser dedicado. Para input não confiável, limite tamanho e profundidade onde a biblioteca permitir.
Entender parse esclarece por que uma vírgula solta bloqueia tudo downstream — e por que corrigir sintaxe sempre vem primeiro.