Consulte o JSON colado usando seletores e filtros simples de comparação. Cada resultado mostra o valor e seu caminho no documento. Sintaxes não compatíveis são rejeitadas, sem executar expressões JavaScript.
Funciona localmente no seu navegadorAceita nomes, notação entre colchetes, índices, curingas, uniões, fatias, seletores descendentes e filtros de comparação simples.
A análise principal da consulta é feita localmente. Expressões não compatíveis retornam um erro claro em vez de recorrer a eval().
Cole um documento JSON, escreva uma expressão JSONPath e leia cada correspondência como caminho normalizado ao lado do valor. A consulta roda sobre o texto desta aba: nada é enviado e nenhuma requisição sai da página.
O analisador é próprio desta ferramenta e nunca recorre a eval(). A sintaxe que ele não implementa para com um erro específico: filtros combinados com &&, || ou ! são recusados, assim como comparar um filtro com a raiz do documento.
Nomes, nomes entre colchetes e índices: $.store.book, $["store"]["book"], $['store']['bicycle'], [0], [-1] para o último elemento e uniões como [0,1] ou ['a','b']. Um nome fora de colchetes começa com letra, sublinhado ou $ e segue com letras, dígitos, sublinhado, $ ou hífen; uma chave com ponto ou espaço exige a forma entre colchetes.
Curingas, fatias e descendentes: $.store.*, $..price, [0:2], [::2], [::-1]. As fatias seguem os mesmos limites do Python: um limite negativo conta a partir do fim e um passo negativo percorre de trás para frente.
Um filtro avalia uma única comparação e aceita ==, !=, <, <=, > e >= contra número, texto entre aspas, true, false ou null: [?(@.price < 10)] ou [?(@.title == "Moby Dick")]. Um filtro sem operador mantém os nós em que a propriedade existe e é verdadeira: [?(@.isbn)].
O que o analisador não consegue avaliar é recusado em vez de adivinhado: [?(@.price > 1 && @.price < 10)] responde que filtros combinados não são suportados, [?(@.price > $.expensive)] que um filtro não pode ser comparado com a raiz e uma expressão regular como =~ /a/ que a expressão de filtro não é suportada.
Cada correspondência informa o caminho em uma única forma normalizada, $["store"]["book"][0]["author"], qualquer que seja a notação usada na consulta, e o mesmo nó nunca aparece duas vezes. Copiar JSON do resultado devolve os valores encontrados como um único array JSON, pronto para um fixture ou um diff.
O cartão Correspondências mostra os 200 primeiros resultados e informa quantos ficaram de fora; o botão de copiar continua entregando o array completo. Um documento de 50.000 nós responde a uma consulta com curinga em menos de um segundo, e documentos muito aninhados são percorridos sem estourar a pilha.