Testador de JSONPath

Teste expressões JSONPath em dados JSON e veja os valores e caminhos correspondentes em tempo real enquanto digita.

Entrada JSON
Valores correspondentes
Insira o JSON e uma expressão JSONPath para testar.

Seu JSON e JSONPath são testados diretamente no seu navegador. Nada é enviado para o BroBroGo.

FAQ

Qual sintaxe JSONPath posso utilizar?

Você pode usar padrões comuns de JSONPath como $.store.book[*].title, busca recursiva com $..price, filtros como [?@.price < 10] e fatiamento de arrays (slices).

Por que cada resultado exibe um caminho?

O caminho mostra a origem exata do valor no JSON de entrada, permitindo que você copie um resultado sem perder a referência de onde ele está localizado.

Por que uma consulta pode expirar (timeout)?

Consultas recursivas muito amplas ou arquivos gigantescos podem demorar muito para processar. O testador interrompe a execução após um curto limite de tempo para que você possa refinar a expressão ou usar um exemplo menor.

Funcionamento do Testador de JSONPath

O Testador de JSONPath é uma ferramenta projetada para validar e avaliar expressões JSONPath diretamente em dados JSON. Ao inserir os dados de origem e a expressão de consulta, o utilitário processa as instruções em tempo real e exibe os valores correspondentes acompanhados de seus respectivos caminhos de origem dentro da estrutura hierárquica do documento.

Este processo ajuda desenvolvedores de APIs, testadores, engenheiros de dados e analistas de suporte a compreender exatamente quais elementos uma instrução JSONPath extrairá de uma carga de dados. A ferramenta opera com limites estritos de entrada para garantir a estabilidade do navegador: o campo de dados JSON aceita um tamanho máximo de 500.000 caracteres, enquanto o campo da expressão JSONPath é limitado a 4.000 caracteres.

Sintaxe JSONPath e Seleção de Dados

O JSONPath funciona de maneira análoga ao XPath para XML, permitindo navegar e extrair fragmentos de um documento JSON. A estrutura de uma consulta utiliza nós e operadores específicos para percorrer propriedades e arrays.

Os padrões mais comuns suportados pela ferramenta incluem:

  • Caminho Absoluto e Relativo: A consulta inicia com o nó raiz representado pelo símbolo $. A partir dele, caminhos diretos são acessados por pontos (ex: $.store.book).
  • Descida Recursiva: O operador .. realiza buscas profundas em toda a árvore do documento, localizando propriedades independentemente do nível de aninhamento em que se encontram, como em $..price.
  • Filtros de Expressão: Filtros lógicos aplicados a arrays ou objetos utilizam a notação [?(@.propriedade)]. Por exemplo, a expressão [?@.price < 10] filtra elementos cujo valor do atributo de preço seja estritamente menor que 10.
  • Fatiamento de Arrays (Slices): Permite selecionar subconjuntos de listas com base em índices numéricos, facilitando a extração de intervalos específicos de dados.

Validação e Tratamento de Erros

A avaliação correta de uma consulta depende da integridade estrutural do documento JSON e da sintaxe da expressão inserida. O testador analisa continuamente as entradas e exibe mensagens de erro específicas caso encontre inconsistências:

  • Se o documento JSON fornecido contiver erros de formatação ou chaves inválidas, a ferramenta exibirá o aviso: Este JSON não é válido..
  • Se a expressão digitada violar as regras gramaticais do JSONPath, o sistema indicará: Esta expressão JSONPath não é válida..
  • Caso a estrutura da expressão esteja correta, mas ocorra uma falha interna durante o processamento dos nós, o erro exibido será: Não foi possível avaliar este JSONPath..

Gerenciamento de Grandes Volumes de Dados e Limites

Para manter a responsividade da interface durante a análise de estruturas complexas ou volumosas, o utilitário aplica regras rígidas de execução e exibição:

  • Limite de Caracteres do JSON: Se o texto colado na área de entrada ultrapassar 500.000 caracteres, o processamento é interrompido e a mensagem exibida é: Este JSON é grande demais para ser testado aqui. Tente um exemplo menor..
  • Limite de Caracteres da Expressão: Se a consulta JSONPath exceder 4.000 caracteres, a ferramenta exibe: Esta expressão JSONPath é longa demais para ser testada aqui..
  • Tempo Limite de Execução (Timeout): Consultas recursivas muito amplas sobre grandes volumes de dados podem exigir processamento excessivo. O testador interrompe a avaliação após um curto período de tempo para evitar o travamento do navegador, exibindo: O processamento deste JSONPath demorou muito. Restrinja a expressão ou use um exemplo menor..
  • Truncamento de Resultados: A ferramenta exibe no máximo 200 resultados. Quando este limite é atingido, o contador exibe Correspondências: 200+ acompanhado da nota informativa: Exibindo as primeiras {max} correspondências.. Se nenhuma correspondência for encontrada para os critérios informados, a interface exibe: Nenhuma correspondência encontrada.. Ao acionar a limpeza dos campos, a mensagem Limpo. é apresentada.

JSONPath no Desenvolvimento e Teste de APIs

No ecossistema de APIs REST, o JSON é o formato predominante para intercâmbio de dados. O uso de expressões JSONPath desempenha um papel fundamental na automação de testes de integração, onde é necessário validar se campos específicos do payload de resposta contêm os valores esperados.

Em vez de escrever rotinas complexas de parsing para inspecionar objetos profundamente aninhados, engenheiros de software utilizam expressões de descida recursiva ou filtros para isolar propriedades específicas instantaneamente. O testador auxilia na construção e depuração dessas expressões antes que elas sejam implementadas em scripts de teste automatizados ou pipelines de integração de dados. Cada resultado exibido na ferramenta traz o caminho exato de sua origem, permitindo copiar valores específicos mantendo a referência de sua localização original na estrutura do objeto.

Privacidade e Processamento Local

A segurança das informações tratadas é garantida pelo modelo de execução do utilitário. Todo o processamento de validação do JSON e a avaliação da expressão JSONPath ocorrem diretamente no navegador do usuário. Os dados inseridos não são enviados para servidores externos e nada é enviado para o BroBroGo.


Perguntas Frequentes

Qual sintaxe JSONPath posso utilizar?
Você pode usar padrões comuns de JSONPath como $.store.book[*].title, busca recursiva com $..price, filtros como [?@.price < 10] e fatiamento de arrays (slices).

Por que cada resultado exibe um caminho?
O caminho mostra a origem exata do valor no JSON de entrada, permitindo que você copie um resultado sem perder a referência de onde ele está localizado.

Por que uma consulta pode expirar (timeout)?
Consultas recursivas muito amplas ou arquivos gigantescos podem demorar muito para processar. O testador interrompe a execução após um curto limite de tempo para que você possa refinar a expressão ou usar um exemplo menor.

Existe um limite para o tamanho do JSON que posso testar?
Sim. O limite máximo para a entrada de dados JSON é de 500.000 caracteres. Se o seu arquivo exceder esse limite, a ferramenta exibirá uma mensagem solicitando o uso de um exemplo menor.