Testador JSONPath
Cole JSON e teste expressões JSONPath interativamente. Veja resultados correspondentes em tempo real, com caminhos de exemplo para começar rapidamente.
Entrada
Saída
Leia-me
O que é JSONPath?
JSONPath é uma linguagem de consulta para JSON, similar a como XPath funciona para XML. Permite navegar e extrair dados de uma estrutura JSON usando expressões de caminho. Uma expressão JSONPath começa com $, que representa a raiz do documento, e usa notação de ponto (.key) ou notação de colchetes (['key']) para percorrer objetos, e [index] para acessar elementos de array.
JSONPath foi originalmente descrito por Stefan Gössner em 2007 e desde então se tornou um padrão amplamente utilizado em APIs, frameworks de testes e pipelines de processamento de dados. É suportado em muitas linguagens e ferramentas, incluindo JavaScript, Python, Java e bancos de dados como PostgreSQL e MySQL.
Descrição da ferramenta
Esta ferramenta permite colar qualquer documento JSON válido e escrever uma expressão JSONPath para consultá-lo. Os resultados são exibidos instantaneamente conforme você digita, mostrando todos os valores correspondentes como um array JSON formatado. A contagem de correspondências é exibida separadamente para que você possa verificar rapidamente quantos nós foram selecionados.
Exemplos
JSON de entrada:
{
"store": {
"book": [
{ "title": "Moby Dick", "price": 8.99, "category": "fiction" },
{ "title": "War and Peace", "price": 12.5, "category": "fiction" },
{
"title": "A Brief History of Time",
"price": 7.99,
"category": "science"
}
]
}
}| Expressão | Resultado |
|---|---|
$.store.book[*].title |
Todos os títulos de livros |
$.store.book[0] |
Primeiro objeto de livro |
$.store.book[?(@.price < 10)] |
Livros mais baratos que $10 |
$.store.book[?(@.category == "fiction")] |
Apenas livros de ficção |
$..price |
Todos os valores de preço em qualquer lugar do documento |
Recursos
- Avaliação em tempo real — os resultados são atualizados conforme você digita a expressão ou edita o JSON
- Exibe a contagem de correspondências em um campo dedicado
- Botão de cópia no campo de expressão para reutilização rápida
- Botão de colar para inserir rapidamente JSON ou expressões da área de transferência
- Relatório de erros para JSON inválido ou expressões de caminho malformadas
Como funciona
As expressões JSONPath são avaliadas contra o JSON analisado usando a biblioteca jsonpath-plus. O símbolo $ refere-se ao elemento raiz. Nós filhos são acessados com . ou [], curingas com *, descida recursiva com .. e filtros com [?(...)]. O resultado é sempre um array de valores correspondentes, mesmo que apenas uma correspondência seja encontrada.
Opções explicadas
| Sintaxe | Significado |
|---|---|
$ |
Elemento raiz |
.key ou ['key'] |
Propriedade filha |
[*] |
Todos os elementos do array |
[0] |
Primeiro elemento do array (indexado a partir de zero) |
[-1] |
Último elemento do array |
[0,2] |
Elementos nos índices 0 e 2 |
[0:2] |
Elementos do índice 0 a 1 (slice) |
..key |
Descida recursiva — encontrar key em qualquer profundidade |
[?(@.price > 5)] |
Filtro — elementos onde price é maior que 5 |
@ |
Nó atual (usado dentro de expressões de filtro) |
Casos de uso
- Desenvolvimento de API — verificar se um seletor JSONPath usado em um cliente REST, suite de testes ou ferramenta de mapeamento de dados extrai os campos esperados de uma resposta de API
- Transformação de dados — identificar quais valores extrair de payloads JSON aninhados antes de escrever um script de transformação
- Aprender JSONPath — experimentar a sintaxe de caminho interativamente para entender como operadores como
..,[*]e[?()]se comportam em dados reais
Dicas
- Use
$..*para obter cada valor único em todo o documento — útil para explorar estruturas JSON desconhecidas. - Expressões de filtro suportam comparações (
==,!=,<,>,<=,>=) e podem referenciar propriedades aninhadas:[?(@.author.name == "Rees")]. - Para corresponder uma propriedade independentemente de sua profundidade, use descida recursiva
..:$..titleencontra todos os campostitleem qualquer lugar do documento.