JSONPath é uma linguagem de expressão para consultar e extrair dados de estruturas JSON. Inspirado no XPath para XML, ele fornece uma maneira de percorrer a hierarquia JSON e localizar campos ou valores com precisão, semelhante a como consultas SQL interrogam bancos de dados. Tornou-se ferramenta indispensável para desenvolvedores e testadores que trabalham com APIs e dados JSON.
O conceito fundamental do JSONPath é o uso de expressões de caminho para navegar pela estrutura em árvore JSON. O símbolo raiz $ representa o ponto de partida, depois o operador ponto . acessa propriedades filhas, e colchetes [] acessam elementos de array por posição. Por exemplo, a expressão $.store.book[0].title parte da raiz, acessa o objeto store, depois o array book, pega o primeiro elemento e retorna o valor do campo title.
Para arrays, JSONPath suporta vários modos de acesso: índices numéricos simples como [0] para o primeiro elemento, índices negativos [-1] para o último elemento sem saber o comprimento do array, curinga * para corresponder a todos os elementos, e sintaxe de fatia [start:end] para extrair intervalos de elementos consecutivos. Esses recursos cobrem a grande maioria das necessidades de acesso a arrays em cenários comuns.
O operador curinga * pode ser usado para corresponder a qualquer propriedade ou elemento. Por exemplo, $.store.* retorna todos os campos diretos em store, e $.store.book[*] retorna todos os elementos no array book. Isso é especialmente útil para percorrer todos os filhos sem saber nomes de campos explícitos.
O recurso de filtro ?() é um mecanismo poderoso para seleção condicional de dados. Em filtros, @ representa o nó atual, e operadores de comparação ==/!=/>/</>=/<= podem ser usados para filtrar elementos por condição. Por exemplo, $.store.book[?(@.price < 10)] seleciona todos os livros no array book cujo preço é menor que 10: muito prático para extrair rapidamente subconjuntos de dados que atendem a critérios.
Esta ferramenta integra vários recursos para melhorar a experiência de uso: editor CodeMirror com realce de sintaxe profissional, visualização dupla JSON/tabela para apresentação de resultados adaptável, 8 exemplos integrados para início rápido, correção automática de erros JSON comuns, debounce de 400ms para execução fluida durante a digitação, atalhos de teclado para eficiência e 200 entradas de histórico local para recuperar expressões anteriores.
Todo o processamento é feito localmente no navegador: JSON e expressões de consulta nunca são enviados para servidores, garantindo privacidade absoluta de dados sensíveis como chaves API, tokens e informações empresariais. Isso é especialmente importante para engenheiros de teste que processam respostas de API de produção com dados sensíveis.
Esta ferramenta implementa um subconjunto de sintaxe JSONPath cuidadosamente selecionado que cobre 90% dos cenários de uso diário: acesso a propriedades, índices de array (positivos/negativos), curinga *, fatia [start:end] e filtros simples ?() com operadores de comparação. Recursos avançados como descida recursiva (..), expressões de script complexas e combinações de várias condições não são suportados nesta versão, priorizando estabilidade e simplicidade para usos comuns.