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ãoSignificado
$Raiz do documento
$.store.booksO array books
$.store.books[0].titleTítulo do primeiro livro
$.store.books[*].priceTodos os preços
$..priceprice 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.

Voltar à visão geral do curso