O que é um testador JSONPath?
Um testador JSONPath avalia uma expressão JSONPath em relação a um documento JSON e retorna todos os valores que a expressão seleciona, juntamente com o caminho exato para cada correspondência JSONPath é uma linguagem de consulta para JSON, a maneira como XPath é uma linguagem de consulta para XML: você escreve um caminho curto, como $.store.book [*].author e recebe de volta a lista de valores correspondentes sem escrever nenhum código Esta ferramenta analisa seu JSON, executa a expressão e mostra os resultados e o caminho normalizado de cada um.
O ponto de um testador é o feedback Quando uma expressão JSONPath não retorna nada, ou retorna mais do que você esperava, o problema é quase sempre um pequeno detalhe de sintaxe: um curinga ausente, o estilo de colchete errado ou um filtro que compara uma string a um número Executar a consulta ao vivo contra dados reais, e ver quais nós ela toca, transforma essa adivinhação em uma verificação de dois segundos É a mesma razão pela qual os desenvolvedores mantêm um testador regex aberto ao lado de seu editor.
Tudo é executado no seu navegador O JSON é analisado com o analisador JSON integrado e a expressão é avaliada por um pequeno interpretador escrito em JavaScript, portanto nada é carregado, registrado ou armazenado Isso importa porque o trabalho do JSONPath geralmente acontece contra respostas de API e arquivos de configuração que carregam tokens, IDs ou registros de clientes, e essa ferramenta mantém essa carga útil em sua própria máquina e continua funcionando offline assim que a página for carregada.
JSONPath é uma convenção com várias implementações ao invés de uma única especificação, e eles discordam nas bordas A sintaxe do filtro é a parte menos portátil, então uma expressão que funciona em uma biblioteca pode precisar de ajuste em outra A descida recursiva é a operação cara: ela anda todos os nós do documento, então em um arquivo grande uma consulta começando com dois pontos é visivelmente mais lenta do que um caminho explícito.
Para experimentá-lo como um avaliador on-line do JSONPath, clique em Carregar amostra, substitua a expressão por $.store.book [?(@.price < 10)].title e clique em Avaliar. O modo Values retorna ["Sayings of the Century", "Moby Dick"] com o painel marcado 2 resultados. Alterne a saída para caminhos e clique em Avaliar novamente, e a mesma consulta retorna $.store.book [0].title e $.store.book [2].title, que informa que o filtro pulou os livros no índice 1 e 3. Altere a expressão para $..price e você obtém cinco números, porque a descida recursiva também atinge a bicicleta.
Como usar o testador JSONPath?
Cole seu JSON
Cole um objeto ou matriz na caixa JSON, ou clique em Carregar amostra para o documento da livraria A entrada deve ser JSON válida; um erro de análise é mostrado com a própria mensagem do seu navegador, que geralmente nomeia a posição para que você possa corrigi-la.
Escreva uma expressão JSONPath
Insira um caminho como $.store.book [*].title ou $..price. Comece a partir de $ para o root, use pontos ou colchetes para crianças e adicione filtros como [?(@.price < 10)] para selecionar por valor.
Leia as partidas
Clique em Avaliar para executar a expressão; o painel Correspondências lista todos os valores correspondentes e mostra a contagem de resultados Alternar Saída para Caminhos ou Entradas e clique em Avaliar novamente para ver de onde veio cada resultado.
Copie o resultado
Copie os valores correspondentes, a lista de caminhos ou as entradas completas de caminho e valor como JSON para colar em seu código, testes ou documentação.
Principais características
Sintaxe de caminho completo
Raiz, filho, descida recursiva (..), curinga (*), índice de matriz incluindo índice negativo, uniões e fatias no estilo Python são todos suportados, portanto, a maioria dos exemplos JSONPath publicados permanecem inalterados.
Filtrar expressões
Selecione nós por valor com filtros como [?(@.price < 10 & & @.category == "fiction")]. Operadores de comparação, verificações de existência e & & / || combinações são avaliadas por elemento.
Valores, caminhos ou entradas
Veja os valores combinados, o caminho normalizado de cada correspondência ou ambos juntos como entradas A saída do caminho é útil para construir a expressão que você precisa.
Limpar mensagens de erro
JSON inválido e expressões malformadas são relatados separadamente com uma mensagem específica, para que você saiba se deve corrigir os dados ou a consulta, em vez de olhar para um resultado vazio.
Frequently Asked Questions
Related Tools
JSON Schema Generator
Generate a JSON Schema from any JSON sample. Infers types, merges arrays of objects into one item schema, derives required fields, and detects date-time, email, uri, and uuid formats. Draft-07 and 2020-12 output. 100% client-side.
JSON to TypeScript
Generate TypeScript interfaces from any JSON sample. Infers nested types, merges arrays of objects into a single interface, marks nullable and missing keys optional, and emits clean exportable code. 100% client-side.
JSON to XML
Convert JSON to well-formed XML instantly. Map object keys to elements, @-prefixed keys to attributes and #text to content, expand arrays into repeated tags, and export minified or pretty-printed XML. 100% client-side.
XML Formatter
Format, beautify, minify, and validate XML online - preserves comments, CDATA, and attribute order, with clear error reporting
Comments
0 comments
No comments yet. Be the first to share your thoughts!