Lição 9
Consultas JSONPath
Extrair valores de documentos aninhados com expressões de caminho.
Quando um documento JSON é grande, você muitas vezes precisa de um campo sem percorrer mentalmente cada nível. JSONPath é uma linguagem de consulta — similar em espírito ao XPath para XML — para selecionar nós em árvores JSON.
Documento de exemplo
{
"store": {
"books": [
{ "title": "JSON 101", "price": 12.5 },
{ "title": "API Design", "price": 28 }
]
}
}
Expressões comuns
| Expressão | Significado |
|---|---|
$ | Raiz do documento |
$.store.books | O array books |
$.store.books[0].title | Título do primeiro livro |
$.store.books[*].price | Todos os preços |
$..price | price em qualquer lugar sob a raiz |
Leia $ como “comece aqui”, . como “propriedade filha”, [n] como índice de array, [*] como cada elemento e .. como descida recursiva.
Casos de uso
- Extrair um user ID de uma resposta de API aninhada em testes ou scripts
- Filtrar eventos de log onde
level == "error"em payloads heterogêneos - Documentar “onde encontrar” campos em guias de integração
JSONPath vs código manual
Em JavaScript você poderia escrever data.store.books[0].title. JSONPath brilha quando:
- A profundidade varia entre versões da API
- Você consulta o mesmo caminho em config em muitos arquivos
- Ferramentas expõem uma caixa de path para inspeção ad hoc
Limitações
Implementações diferem levemente em extensões (filtros, slices). Em pipelines de produção, fixe a versão da biblioteca e adicione testes para caminhos críticos. JSONPath lê estrutura — não corrige JSON inválido; faça parse e valide primeiro.