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.