Testador de JSONPath
JSONPath Tester
Executa uma expressão JSONPath contra um documento e destaca os nós encontrados enquanto você digita.
Executa uma consulta JSONPath contra um documento e mostra cada nó que ela selecionou, com o caminho até cada um. Ele implementa a RFC 9535 — o padrão de 2024 — em vez de uma das implementações mutuamente incompatíveis dos vinte anos anteriores, o que importa assim que a sua consulta tem um filtro.
Consulta
A partir da raiz: em qualquer ponto abaixo, o membro “book”; depois os filhos que passam pelo filtro; depois o membro “title”.
Documento
Correspondências
Os resultados aparecem aqui enquanto você digita.
Isto segue a RFC 9535, o padrão de 2024, e não os vinte anos de implementações incompatíveis que vieram antes. As diferenças que pegam: um resultado é uma lista de nós e mantém as duplicatas, .. visita um nó antes dos filhos dele, um membro ausente só é igual a outro membro ausente, e comparar com uma consulta que poderia casar com vários nós é erro de sintaxe em vez de palpite. Os padrões que vão dentro de match() e search() vão para o motor de expressões regulares do próprio navegador, que aceita mais do que o dialeto I-Regexp que a RFC especifica.
Como usar
Cole o documento
Qualquer coisa que seja analisada como JSON. A consulta roda em um worker, então um documento grande mantém a página responsiva enquanto você digita.
Escreva a consulta, ou parta de um exemplo
Os botões abaixo da caixa cobrem as formas de que as pessoas precisam: um curinga, uma busca por descendentes, um slice, um filtro, uma expressão regular e uma função. Acima deles aparece uma descrição em linguagem simples do que a sua consulta significa.
Leia as correspondências com seus caminhos
Cada resultado carrega o caminho normalizado que chegou até ele, então você pode ver se uma correspondência veio de onde esperava. A linha de estatísticas diz se a consulta é singular — capaz de selecionar no máximo um nó —, que é o que um JSON Pointer seria.
Perguntas frequentes
Minha consulta funciona em outra ferramenta, mas aqui não.
Provavelmente uma diferença da RFC 9535. O padrão removeu coisas que implementações antigas permitiam: expressões de script em `()`, `$..[?(@.x)]` com a sintaxe antiga de filtro entre parênteses, e comparar contra uma consulta que poderia corresponder a vários nós — esta última agora é um erro de sintaxe em vez de um palpite.
Por que o mesmo valor aparece duas vezes?
Porque o resultado é uma lista de nós, não um conjunto. `$..price` chegando ao mesmo nó por dois ramos o lista duas vezes, de propósito: deduplicar perderia a informação de onde cada correspondência veio.
As expressões regulares de `match()` são padrão?
Não exatamente. A RFC especifica I-Regexp, um dialeto pequeno; os padrões daqui são entregues ao motor do próprio navegador, que aceita mais. Um padrão que funciona aqui pode ser rejeitado por uma implementação estrita — vale saber antes de colocar um em produção.
Ele consegue modificar o documento?
Não: JSONPath seleciona, não escreve. Para editar, os caminhos mostrados aqui são ponteiros RFC 6901 e podem ir direto para um JSON Patch, que é o que a ferramenta de diff de JSON deste site produz.
Pode receber de
Formatador e validador de JSON
JSON Formatter & Validator
Formata, minifica e valida JSON, apontando a linha e a coluna exatas de um erro de sintaxe.
JSON ⇄ XML conversor
JSON ⇄ XML
Converte entre JSON e XML com tratamento configurável de atributos, arrays e nós de texto.
Comparar JSON
JSON Diff
Compara dois documentos JSON estruturalmente, ignorando a ordem das chaves e informando os caminhos adicionados, removidos e alterados.
Playground de jq
jq Playground
Executa filtros do jq 1.7 sobre JSON colado no navegador, com uma cola de sintaxe, e entrega a linha de comando equivalente.
Em seguida
Estas aceitam o que esta ferramenta produz, então o resultado pode ir direto.
Playground de jq
jq Playground
Executa filtros do jq 1.7 sobre JSON colado no navegador, com uma cola de sintaxe, e entrega a linha de comando equivalente.
Comparar JSON
JSON Diff
Compara dois documentos JSON estruturalmente, ignorando a ordem das chaves e informando os caminhos adicionados, removidos e alterados.
Formatador e validador de JSON
JSON Formatter & Validator
Formata, minifica e valida JSON, apontando a linha e a coluna exatas de um erro de sintaxe.
Testador de XPath
XPath Tester
Avalia um XPath ou seletor CSS contra XML ou HTML e lista cada nó encontrado.
JSON ⇄ CSV conversor
JSON ⇄ CSV
Achata JSON aninhado em colunas ou reconstrói objetos a partir de uma tabela, com uma regra de nome de coluna por caminho com pontos.
JSON para TypeScript
JSON to TypeScript
Infere interfaces ou tipos TypeScript a partir de um exemplo de JSON, mesclando campos opcionais e de união.