JSONPath é uma linguagem de consulta para JSON, semelhante ao XPath para XML. Suporta wildcards, filtros e descida recursiva. JSON Pointer (RFC 6901) é mais simples: aponta apenas para um local específico. Use JSONPath quando precisar corresponder a múltiplos nós ou filtrar por condições.
$ representa a raiz do documento JSON. Todas as expressões JSONPath começam com $. Por exemplo, $.store.book[0].title navega da raiz → store → array book → primeiro elemento → propriedade title.
Use [*] para selecionar todos os elementos. Por exemplo, $.users[*].name retorna a propriedade name de cada objeto no array users. Você também pode usar .. para descida recursiva para encontrar todas as chaves correspondentes em qualquer profundidade.
Sim, use expressões de filtro como $.books[?(@.price < 10)] para selecionar livros mais baratos que $10. O símbolo @ refere-se ao elemento atual sendo avaliado. Você pode combinar condições com && (e) e || (ou).
Extrair campos específicos de respostas de API, navegar em arquivos de configuração complexos, testar saída de API em testes automatizados e consultar grandes conjuntos de dados. JSONPath também é usado em ferramentas como Postman, Kubernetes e vários pipelines ETL.