Testador de JSONPath
Cole um documento JSON e digite uma expressão JSONPath como $..book[?(@.price<10)]. O testador avalia isso contra o documento e mostra cada valor correspondente, com o caminho exato de cada correspondência. Útil para validar a consulta que você está prestes a colar em um script ou em uma especificação de API (Postman, k6, JMeter todos falam JSONPath).
Como testar uma expressão JSONPath
-
1
Cole o documento JSON
Qualquer JSON válido, objeto, array, profundamente aninhado.
-
2
Digite a expressão
Comece com `$` para a raiz. Use `.` para filho, `..` para descida recursiva, `[*]` para curinga.
-
3
Veja as correspondências ao vivo
Cada correspondência é mostrada com seu valor e JSONPath completo, destacado no documento original.
-
4
Copie os resultados
Copie correspondências como um array JSON, ou copie cada caminho individual para uso em código subsequente.
Referência de sintaxe JSONPath
| Expressão | Significado |
|---|---|
$ |
Elemento raiz |
$.store |
Filho de $ chamado store |
$["store"] |
O mesmo, forma de colchetes |
$..author |
Todas as propriedades author em qualquer profundidade |
$.store.book[*] |
Cada livro na loja |
$.store.book[0] |
Primeiro livro |
$.store.book[-1:] |
Último livro |
$.store.book[0:2] |
Dois primeiros livros (fatiamento) |
$.store.book[?(@.isbn)] |
Livros com uma propriedade isbn |
$.store.book[?(@.price < 10)] |
Livros mais baratos que 10 |
$.store.book[?(@.category == "fiction")] |
Livros de ficção |
$..* |
Cada valor, em qualquer lugar |
Expressões de filtro
Expressões de filtro usam @ para se referir ao nó atual. O testador suporta os operadores comuns ==, !=, <, >, <=, >=, &&, ||, e regex =~.
$.items[?(@.qty >= 10 && @.price < 50)]
Dialetos JSONPath
Existem várias implementações de JSONPath com pequenas incompatibilidades. Este testador segue a especificação original de Goessner e os refinamentos da RFC 9535, que são compatíveis com:
- Jayway JsonPath (Java)
- jsonpath-plus (JavaScript)
- jsonpath-rw (Python)
- expressões de caminho básicas jq
Recursos incompatíveis (como expressões de script com JS arbitrário) são sinalizados no painel de erro.
Quando JSONPath supera um parser completo
- Asserções de teste: o
pm.expect(jsonData).to.have.jsonPath(...)do Postman aceita um caminho. - Extração de configuração: extraia um valor de uma enorme resposta de API sem uma biblioteca.
- Scripts de teste de carga: k6, JMeter e Gatling todos suportam JSONPath para verificações.
- Kubernetes / AWS CLI: as flags
--querye--jsonpathpermitem que você molde a saída a partir da linha de comando.
Erros comuns
- Usando
.em um array.$.users.0.nameestá errado; use$.users[0].name. - Esquecendo
..para profundidade. Um caminho como$.namesó corresponde aonamede nível superior; use$..namepara todos. - Confundindo JSONPath com jq. jq é um superconjunto com controle de fluxo e transformações; JSONPath é puramente para extração.
- Ancoragem de regex.
=~ /foo/corresponde a substrings; use/^foo$/para comportamento de correspondência exata.
Perguntas frequentes
JSONPath é uma linguagem de extração pura, selecionar, filtrar, fatiar. jq é uma linguagem completa de consulta / transformação com controle de fluxo, variáveis e funções. Para extração simples, JSONPath é mais portátil; para transformações, use jq.
A especificação original de Goessner mais os refinamentos da RFC 9535, correspondendo ao Jayway JsonPath (Java) e jsonpath-plus (Node). Extensões específicas de dialeto (expressões de script com código arbitrário) não são suportadas.
Sim. $..book[?(@.title =~ /^Harry.*/)] corresponde a todos os livros cujo título começa com “Harry”. Use ^ e $ para comportamento de correspondência completa.
Sim. Tanto o JSON quanto o avaliador JSONPath vivem no seu navegador. Seu documento e consultas nunca saem da aba.
Ferramentas relacionadas
Referência da Tabela ASCII
Tabela ASCII completa de 0 a 127 com valores decimais, hexadecimais, octais e binários e notação de referência numérica HTML, incluindo NUL, LF e DEL.
Referência de Caracteres HTML
Lista pesquisável de entidades HTML, seus códigos nomeados e numéricos, e uma cópia com um clique para caracteres e símbolos especiais.
Referência de atalhos de teclado
Pesquise atalhos padrão documentados do VS Code, Chrome e Bash com GNU Readline no macOS, Windows e Linux.
Gerador de EditorConfig
Gere um arquivo .editorconfig com suas regras de estilo e tamanho de indentação, fim de linha, charset e espaços em branco para formatação consistente entre IDEs e editores.
Validador de Email
Valide um endereço de email: verificação de sintaxe RFC 5322, consulta de registro MX em tempo real, além de detalhes de parte local, domínio e comprimento. Nenhum email é enviado.
Formatador de HTML
Formate HTML localmente no navegador com indentação de dois ou quatro espaços. O HTML não é enviado nem validado.
Ferramenta disponível em outros idiomas
- Công cụ kiểm thử JSONPath [VI]
- JSONPath-Tester [DE]
- JSONPath 테스터 [KO]
- เครื่องมือทดสอบ JSON Path [TH]
- أداة اختبار مسارات JSON (JSONPath) [AR]
- JSONPath-testare [SV]
- JSON Path Tester [NL]
- Testeur JSONPath [FR]
- JSON Path Tester [ID]
- JSONPath テスター [JA]
- Tester JSONPath [PL]
- Probador de JSONPath [ES]
- JSONPath Tester [EN]
- Tester JSONPath [IT]
- JSONPath Tester [RU]
- JSONPath Test Aracı [TR]
- JSON路径测试器 [ZH]