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
Gerador de cards CSS
Crie um card com seu título, texto e link opcional. Ajuste cores, borda, espaçamento, sombra e efeito ao passar o mouse. Depois copie ou baixe o HTML e o CSS.
Gerador de textura de ruído
Gere uma textura de ruído em SVG que se repete sem emendas, com opacidade, frequência do grão, tipo de ruído e cor de fundo ajustáveis, e copie o CSS já pronto.
Gerador de Configuração Webpack
Crie um webpack.config.js para webpack 5 a partir de um formulário curto: defina o entry, a pasta de saída e o modo, e ative TypeScript, Babel, um loader CSS, HtmlWebpackPlugin e um servidor de desenvolvimento.
Gerador de Docker Compose
Gere um docker-compose.yml a partir de definições de serviços com imagem, portas e volumes, com padrões de boas práticas.
Conversor de base numérica
Converta números entre binário, octal, decimal, hexadecimal e qualquer base personalizada de 2 a 36, com o detalhamento posicional.
Conversor de Tamanho de Arquivo
Converta entre bytes, KB, MB, GB, TB e as unidades binárias IEC (KiB, MiB, GiB, TiB), combinando decimal e binário como preferir.
Ferramenta disponível em outros idiomas
- JSONPath テスター [JA]
- JSONPath-testare [SV]
- JSON Path Tester [ID]
- JSONPath 테스터 [KO]
- Testeur JSONPath [FR]
- JSON Path Tester [NL]
- Công cụ kiểm thử JSONPath [VI]
- JSONPath-Tester [DE]
- أداة اختبار مسارات JSON (JSONPath) [AR]
- เครื่องมือทดสอบ JSON Path [TH]
- Tester JSONPath [PL]
- Probador de JSONPath [ES]
- Tester JSONPath [IT]
- JSONPath Tester [EN]
- JSONPath Tester [RU]
- JSONPath Test Aracı [TR]
- JSON路径测试器 [ZH]