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.

Exemplos:
Resultados

$ é 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 Todas

O 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)

  1. Cole o JSON na caixa JSON de entrada (ou clique em um exemplo, que também carrega dados de amostra).
  2. Digite uma Expressão JSONPath, por exemplo $..price.
  3. Leia os valores correspondentes na saída; o rótulo mostra quantos resultados houve.
  4. Copie o array de resultados com Copiar.

Exemplo

Entrada
{"store":{"book":[{"title":"A","price":8},{"title":"B","price":12}]}}
Query: $.store.book[?(@.price < 10)].title
Saída
[
  "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.

Próximos passos recomendados

Explore mais categorias