Sobre esta ferramenta
JSONPath é como a maioria dos frameworks de teste de API extrai valores de uma resposta: o JsonPath do REST Assured, os scripts do Postman, o Karate e muitas bibliotecas de assertion usam as mesmas ideias. Escrever a expressão contra uma resposta real economiza uma rodada de testes falhando. Este testador usa jsonpath-plus com a execução de scripts desativada e avalia expressões de filtro como [?(@.price < 10)] com um pequeno interpretador embutido, então nada do que você cola é executado como código. Cada resultado aparece com seu caminho normalizado, que diz exatamente de onde o valor veio.
Como usar
- Cole uma resposta JSON no painel da esquerda ou clique em “Load sample” para o clássico documento da livraria.
- Digite uma expressão começando com $; os resultados são atualizados enquanto você digita.
- Escolha mostrar valores, caminhos ou ambos e copie o resultado.
- Use os botões “Try” do cheatsheet para ver descida recursiva, slices, uniões e filtros em ação.
Perguntas frequentes: Testador de JSONPath
Por que minha expressão funciona aqui e não no REST Assured?
O REST Assured usa Groovy GPath, não o JSONPath de Goessner. O caminho “store.book.findAll { it.price < 10 }.title” em GPath equivale a “$.store.book[?(@.price < 10)].title” aqui. Caminhos simples com pontos são iguais nos dois, mas filtros e curingas usam sintaxes diferentes.
Qual sintaxe de filtro é suportada?
Os filtros podem referenciar o item atual (@) ou a raiz ($), comparar com == != < <= > >=, combinar com && || e ! e usar strings, números, true, false e null. Expressões de script como [(@.length-1)] e chamadas de métodos JavaScript propositalmente não são executadas; use o slice [-1:] para o último elemento.
Por que não encontro resultados mesmo com a chave existindo?
As causas comuns são diferenças de maiúsculas (userId vs userid), falta de [*] quando o valor está dentro de um array, ou uma chave com hífen ou espaço que exige notação de colchetes, como $['first-name'].