Consulta JSON com JSONPath
Consulte JSON com JSONPath: curingas, busca recursiva, fatias e filtros como [?(@.price < 10)]. Os resultados são atualizados enquanto você digita. Não é jq.
$ é a raiz; .name ou ['name'] seleciona um filho; [0] um item do array; [*] todos os itens; .. busca em qualquer profundidade; [?(@.price < 10)] filtra; [-1:] pega o último item.
Executa totalmente no seu navegador. Seus dados nunca são enviados.
Ferramentas Relacionadas
Ver TodasO que é Consulta JSON (JSONPath)?
A ferramenta Consulta JSON avalia expressões JSONPath sobre o seu JSON e mostra cada valor correspondente como um array JSON. Ela suporta curingas, busca recursiva, fatias de array e expressões de filtro. Atenção: usa a sintaxe JSONPath ($.store.book[*].title), não a sintaxe de pipes do jq.
Como usar Consulta JSON (JSONPath)
- Cole o JSON na caixa JSON de entrada (ou clique em um exemplo, que também carrega dados de amostra).
- Digite uma Expressão JSONPath, por exemplo
$..price. - Leia os valores correspondentes na saída; o rótulo mostra quantos resultados houve.
- Copie o array de resultados com Copiar.
Exemplo
{"store":{"book":[{"title":"A","price":8},{"title":"B","price":12}]}}
Query: $.store.book[?(@.price < 10)].title [ "A" ]
Quando usar Consulta JSON (JSONPath)
Use-o para testar expressões JSONPath antes de usá-las em ferramentas que aceitam JSONPath (gateways de API, kubectl -o jsonpath do Kubernetes, frameworks de teste, monitoramento). Se você precisa de recursos do jq, como pipes, map ou construção de objetos, use o próprio jq: eles não são suportados. Para um único caminho exato, o Localizador de Caminho JSON é mais simples.
Como funciona Consulta JSON (JSONPath)
As consultas são avaliadas com a biblioteca jsonpath-plus (JSONPath de Goessner mais extensões). $ é a raiz, .name ou ['name'] seleciona uma propriedade, [0] um índice, [*] todos os filhos, .. busca em qualquer profundidade, [start:end] fatia arrays (índices negativos contam a partir do fim) e [?(…)] filtra com @ como o item atual. As expressões de filtro rodam no avaliador seguro do jsonpath-plus, que suporta comparações e operadores lógicos, mas não executa JavaScript arbitrário. O resultado é sempre um array de correspondências, impresso com indentação de 2 espaços.
Casos de Uso Comuns
- Extrair todos os preços ou ids de uma resposta de API
- Testar JSONPath para testes de API ou regras de monitoramento
- Filtrar itens de array por uma condição
- Prototipar consultas no estilo jsonpath do kubectl
Nota de Segurança
Tudo roda localmente no seu navegador; o código que você cola não é enviado a nenhum servidor.
Perguntas Frequentes
Isto é jq?
Não. Ele usa JSONPath, uma linguagem de consulta diferente. Pipes e funções do jq não são suportados.
Por que o resultado é sempre um array?
Uma expressão JSONPath pode corresponder a qualquer quantidade de valores, então todas as correspondências são retornadas em um array.
Meu JSON é enviado a um servidor?
Não, a consulta roda no seu navegador.
Números grandes perdem precisão aqui?
Sim, os valores são avaliados como números JavaScript, então inteiros acima de 2^53 podem ser arredondados nos resultados da consulta.