Avaliador JSONPath Online
Teste uma expressão JSONPath contra o seu JSON e veja as correspondências ao vivo, direto no seu navegador. Seus dados ficam no seu dispositivo.
Seu JSON é analisado e consultado localmente no seu navegador e nunca é enviado, mas evite colar dados de produção sensíveis em qualquer ferramenta online.
Precisa ler a árvore inteira primeiro? Experimente o Visualizador JSON.
Sobre Avaliador JSONPath
Este avaliador JSONPath permite consultar um documento JSON com uma expressão JSONPath e ver as correspondências se atualizarem enquanto você digita. Cole qualquer objeto ou array JSON, insira um caminho como $.store.book[*].author, $..price ou $.items[?(@.active)], e a ferramenta mostra quantos nós corresponderam, os valores correspondentes como JSON formatado e um botão para ver os JSON Pointers. Como testador JSONPath, ele tem suporte à sintaxe completa: a raiz $, acesso a filhos com ponto e colchetes, o operador de descida recursiva .., curingas [*], fatias de array, uniões e expressões de filtro com @ e comparações. Clique em qualquer uma das expressões de exemplo para colocá-la na caixa de consulta. JSON inválido e caminhos quebrados produzem um erro claro em vez de uma tela em branco. Tudo roda no seu navegador, então o JSON que você avalia fica no seu dispositivo.
Recursos
- Resultados ao vivo: contagem de correspondências, valores e caminhos se atualizam enquanto você edita o JSON ou a expressão
- Alterne entre os valores correspondentes (JSON formatado) e o caminho JSON Pointer de cada correspondência
- Tem suporte a descida recursiva ($..), curingas ([*]), fatias de array, uniões e expressões de filtro
- Filtre pelo conteúdo do nó com predicados no estilo [?(@.price < 10)] ou [?(@.active)]
- Expressões de exemplo clicáveis que preenchem a caixa de consulta com um toque
- Erros distintos para JSON inválido versus uma expressão JSONPath inválida
- Copie os valores correspondentes ou a lista de caminhos com um clique
- Trata objetos profundamente aninhados e arrays grandes sem sair da página
Como usar Avaliador JSONPath
- Cole ou digite seu JSON no painel JSON à esquerda.
- Insira uma expressão JSONPath na caixa de consulta, ou clique em um dos exemplos.
- Leia os valores correspondentes à direita e confira a contagem de correspondências acima deles.
- Mude para Caminhos para ver o JSON Pointer de cada correspondência, depois Copie os resultados.
Exemplo
Entrada
$.store.book[?(@.price < 10)].title
Saída
[
"Sayings of the Century",
"Moby Dick"
]
Uma expressão de filtro mantém apenas os livros mais baratos que 10, depois projeta cada título.
Erros comuns e solução de problemas
- O painel de resultados mostra "JSON inválido" antes de você escrever qualquer caminho. — Corrija primeiro o JSON no painel esquerdo — uma vírgula sobrando, aspas simples ou uma chave sem aspas impedirão a análise. Passe-o por um formatador JSON se estiver em dúvida.
- Um filtro como [?(@.price < 10)] não retorna correspondências mesmo que o campo exista. — Filtros comparam valores brutos, então garanta que o campo seja um número, não uma string, e que @ se refira a cada elemento do array. Coloque comparações de string entre aspas, por exemplo [?(@.color=="red")].
- $.book[0] não retorna nada, mas $..book[0] funciona. — $. só segue o caminho exato a partir da raiz. Se book estiver aninhado, escreva o caminho completo ou use o operador de descida recursiva .. para buscar em qualquer profundidade.
Perguntas frequentes
- Qual é a diferença entre $.. e $. no JSONPath?
- $. segue um caminho exato nível por nível a partir da raiz, então $.store.book corresponde apenas a uma chave book diretamente sob store. $.. é o operador de descida recursiva: $..book encontra cada chave book em qualquer profundidade do documento. Use $.. quando não tiver certeza de onde um campo vive.
- Este avaliador JSONPath tem suporte a expressões de filtro?
- Sim. Filtros usam a sintaxe [?(...)] onde @ é o nó atual, por exemplo $.items[?(@.active)] ou $.store.book[?(@.price < 10)]. Você pode comparar números, strings e booleanos e combinar condições com && e ||.
- O que o botão Caminhos mostra?
- Ele retorna um JSON Pointer para cada correspondência em vez do valor — uma string como /store/book/0/author que localiza o nó no documento. Pointers são úteis quando você precisa saber onde um valor vive, não apenas o que ele é.
- Por que minha expressão corresponde a mais resultados do que eu esperava?
- Curingas e descida recursiva são gananciosos: [*] corresponde a cada elemento de um array ou a cada propriedade de um objeto, e $.. percorre a árvore inteira. Restrinja o resultado com uma chave específica, um índice, uma fatia de array como [0:2] ou um filtro.
- Posso selecionar vários elementos do array de uma vez?
- Sim. Use uma união como [0,2] para escolher índices específicos, ou uma fatia como [1:3] para um intervalo e [-1:] para o último elemento. Ambos funcionam em qualquer array alcançado pelo caminho.
- Meu JSON é enviado para algum lugar quando executo uma consulta?
- Não. A expressão é avaliada inteiramente no seu navegador, então o JSON que você cola e as consultas que você executa são processados localmente no seu dispositivo e não são enviados.
Ferramentas relacionadas
- Formatador de JSON — Embeleze, minifique e valide JSON com a localização dos erros.
- Visualizador de JSON — Visualizador de texto e árvore recolhível com expandir/recolher e caminhos de nós.
- JSON Flatten — Achate JSON aninhado em chaves com notação de ponto ou desfaça de volta, no seu navegador.
- JSON Diff — Compare dois documentos JSON e veja um diff estrutural do que mudou.
- JSON para CSV — Converta um array de objetos JSON planos para CSV.
- YAML ↔ JSON — Converta YAML para JSON e vice-versa.
Todas as ferramentas de ArrayKit