search

Found

info Visão geral

Execute expressões JSONPath em qualquer JSON e veja os valores correspondentes, com raiz $, notação de ponto, curinga, descida recursiva e filtros

📘 Como usar

  1. Cole seu JSON na caixa de entrada à esquerda
  2. Digite uma consulta JSONPath (ex. $.store.book[*].author)
  3. Veja os valores correspondentes e a contagem à direita

Testador de consultas JSONPath

0 correspondências
Copiado!
Article

Testador de consultas JSONPath | Teste expressões JSONPath no navegador

Cole o JSON, digite uma consulta JSONPath, e os valores correspondentes junto com a contagem de correspondências aparecem à direita. Oferece suporte a raiz $, notação de ponto, colchetes [], curingas, descida recursiva .., filtros ?() e fatias de array.

💡 Sobre esta ferramenta

Quem trabalha com respostas de API ou arquivos de configuração chega quase sempre ao mesmo ponto: um JSON extenso do qual você só precisa de um dado específico, como todos os author ou apenas os itens abaixo de certo preço. Percorrer a estrutura à mão é propenso a erros, e escrever um script descartável a cada vez logo cansa.

O JSONPath permite expressar essa extração em uma única linha, mas seu comportamento nem sempre corresponde à intuição até você executar. Esta ferramenta avalia sua expressão sobre o JSON colado e mostra exatamente quais elementos corresponderam, com uma contagem para conferir o resultado contra o que você esperava. Os botões de exemplo deixam comparar como [*], .., as fatias e os filtros se comportam sobre os mesmos dados, transformando o aprendizado de cada operador em algo concreto em vez de teórico.

🧐 Perguntas frequentes

Qual sintaxe é suportada? Raiz $, notação de ponto ($.store.book), notação de colchetes [], curingas * e [*], descida recursiva .., expressões de filtro ?(@.price<10), fatias de array como [-1:] e [0:2], e união [0,1].

Quais comparações funcionam nos filtros? Sobre @.key você pode usar ==, !=, <, >, <= e >=. Por exemplo, $.store.book[?(@.price<10)] mantém apenas os itens cujo preço é menor que 10.

Por que minha consulta retorna 0 correspondências? Geralmente é um erro de digitação no nome de uma chave, aplicar uma fatia ou filtro a algo que não é um array, ou uma expressão que não começa com $. Verifique primeiro a grafia das chaves no seu JSON.

O que acontece se meu JSON for inválido? Se a entrada não puder ser interpretada como JSON, um erro de análise é exibido e a caixa de resultados fica vazia. Corrija os colchetes ou as vírgulas e a avaliação é retomada.

A correspondência diferencia maiúsculas de minúsculas? Sim, os nomes de chave diferenciam maiúsculas. Author e author são tratados como chaves distintas.

📚 Curiosidades

O JSONPath foi proposto por volta de 2007 por Stefan Goessner, que tomou a notação . e .. diretamente do XPath, a linguagem de consulta para XML. Por anos, cada biblioteca implementava os detalhes dos filtros e das uniões de forma um pouco diferente, de modo que a mesma expressão podia dar resultados divergentes conforme a linguagem. Isso mudou em 2024, quando o JSONPath foi padronizado como RFC 9535 e a gramática ganhou uma referência comum. O suporte ainda varia entre bibliotecas, então vale confirmar que uma expressão funciona no ambiente onde você vai usá-la.