Ferramentas JSON

Testador JSONPathencontre o valor e sua origem

Experimente o filtro de preço e confira os caminhos. Desative a execução automática para controlar cada consulta.

Testador JSONPath

JSON de entrada

O JSON é processado neste navegador. Somente expressões salvas por você ficam no armazenamento local.

Correspondências

Caminho normalizadoValor

A prévia mostra até 1.200 caracteres por valor. A cópia e o download incluem toda a visualização selecionada.

RFC 9535 · jsonpath-rfc9535 1.3.0 · Sem expressões JavaScript

Resultado desatualizado; exportação e envio desativados.

Continuar em outra ferramenta

O clique abre outra aba. Os dados passam pela memória, sem entrar na URL. Limite: 500.000 caracteres.

Um Testador JSONPath ajuda quando uma resposta de API repete nomes de campos em vários níveis. O caminho mostra de qual registro veio cada valor, mesmo quando os conteúdos são iguais.

Compare uma expressão JSONPath específica com uma busca recursiva antes de levar a consulta JSON para seu código. O motor mantém um único dialeto declarado, sem alternar implementações para tentar aceitar a entrada.

Por que usar este Testador JSONPath?

Cada valor mantém seu caminho

O Testador JSONPath exibe caminhos correspondentes como $['store']['book'][0] ao lado dos valores. Dois livros com o mesmo preço continuam sendo duas ocorrências com origens diferentes, sem deduplicação automática.

Dois ramos selecionados em uma árvore de dados com seus valores e caminhos correspondentes.

Envie o conjunto certo para a próxima etapa

Escolha o documento original ou o array de valores encontrados antes de enviar. Objetos podem virar linhas CSV; números e textos podem ser examinados no formatador. A conclusão de uma consulta não dispara a transferência sozinha.

O documento completo ou um subconjunto selecionado segue para um documento formatado ou uma tabela.

Defina o alcance antes de reutilizar a consulta

01

Compare uma ramificação com todos os descendentes

O exemplo de títulos percorre apenas os livros. Já $..price também encontra o preço da bicicleta. Leia os caminhos antes de ampliar a busca, evitando campos homônimos de outras partes do documento.

02

Escolha quando executar

O modo automático espera 350ms após a edição. Ao desligá-lo, use o botão ou Ctrl/Cmd+Enter. Alterar o JSON ou a expressão torna o resultado anterior indisponível para cópia, download e envio até a nova consulta terminar.

03

Confira o formato do que será enviado

Valores sempre saem como array, mesmo com uma única correspondência. A visualização de caminhos exporta um array de strings. Salve até 20 expressões para reutilizar; carregar uma delas não substitui o JSON atual.

Seleções com caminhos que você pode conferir

Filtros com funções padronizadas

$.store.book[?@.price < 10] seleciona livros mais baratos. Combine condições usando && e || e use length, count, match, search e value. O motor interpreta a sintaxe JSONPath, sem executar código JavaScript arbitrário.

Várias formas de alcançar um nó

Nomes de propriedades, curingas, busca recursiva, índices negativos, fatias e listas de seletores permitem percorrer estruturas diferentes. Repetir um seletor pode produzir correspondências repetidas; a ferramenta não ordena nem elimina essas ocorrências.

Diferencie vazio de nulo

Uma consulta válida sem correspondências retorna []. Um nó encontrado com valor null retorna [null]. Ambos podem ser resultados corretos. Erros de sintaxe aparecem separadamente e bloqueiam a exportação.

Prévia por etapas, resultado completo

A tabela mostra mais 50 correspondências por vez e limita cada prévia de valor a 1.200 caracteres. A cópia e o download incluem todo o resultado aceito. A exclusão de uma expressão salva mostra o alvo antes de confirmar e permite desfazer uma vez.

Sintaxe aceita e limites reais

Uma implementação identificada
O motor jsonpath-rfc9535 1.3.0 segue RFC 9535. Isso não significa aceitar todas as extensões de Jayway, Goessner, kubectl ou JSONPath Plus. Pipelines jq, JMESPath, funções personalizadas e scripts não são suportados.
JSON estrito e números
Comentários, JSON5, vírgulas finais, chaves repetidas, inteiros fora da faixa segura e estouros numéricos são rejeitados. Decimais comuns usam números JavaScript; a saída não preserva a escrita do expoente, zeros finais ou zero negativo.
Limites que interrompem a consulta
Entrada de 500.000 caracteres, profundidade 100, 50.000 nós, expressão de 2.000 caracteres, 5.000 correspondências e saída combinada de 2.000.000 de caracteres. O worker é encerrado após 2 segundos. Não há download parcial quando algum limite é ultrapassado.
Seleção não é transformação de registros
O teste não modifica valores, agrupa linhas ou cria objetos. Para CSV, é preciso um objeto ou um array contendo somente objetos. Arrays de números ou textos não são empacotados automaticamente como linhas de tabela.
Sem importação remota ou salvamento implícito
Não há entrada por arquivo ou URL, sincronização na nuvem nem link com dados. Somente expressões salvas ficam armazenadas. A transferência usa memória e uma nova aba da mesma origem, até 500.000 caracteres; mantenha a aba de origem aberta.

Perguntas sobre o Testador JSONPath

Esta ferramenta oferece suporte a filtros JSONPath?

Sim. Este Testador JSONPath aceita filtros padrão como $.store.book[?@.price < 10] e condições combinadas com && ou ||. Funções de RFC 9535 também estão disponíveis, mas métodos JavaScript e extensões de outros motores não são equivalentes.

Posso usar a pesquisa JSONPath recursiva?

Sim. $..key procura esse nome em qualquer profundidade. Isso pode incluir registros fora do array desejado; confira os caminhos e troque por uma expressão mais específica quando o alcance estiver amplo demais.

Suporta todas as extensões JSONPath?

Não. O Testador JSONPath usa jsonpath-rfc9535 1.3.0 e uma sintaxe definida por RFC 9535. Expressões legadas de outros ambientes podem exigir ajustes. Não se deve misturar esse comportamento com jq ou templates do kubectl.

JSONPath e JSON Pointer são iguais?

Não. JSON Pointer aponta para uma posição específica, enquanto JSONPath pode escolher vários nós com filtros e curingas. Os caminhos normalizados desta página são expressões JSONPath, não caminhos de RFC 6901.

Por que nenhum resultado vira array vazio?

O resultado representa uma lista de nós selecionados. Se nenhum nó foi encontrado, a lista é []. Se um nó foi encontrado e seu valor é null, o resultado é [null]. A contagem deixa essa diferença visível sem tratar ausência como erro.

Alguma consulta foi interpretada incorretamente?

Experimente o filtro de preço

Use o Testador JSONPath para comparar o filtro de livros com a busca recursiva por preços. Depois de conferir os caminhos, escolha o documento completo ou apenas os valores necessários para a próxima tarefa.