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.

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

Perguntas Frequentes

Qual sintaxe JSONPath posso utilizar?

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

Porque é que cada resultado exibe um caminho?

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

Porque é que uma consulta pode expirar (timeout)?

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

O Testador de JSONPath permite avaliar expressões de consulta diretamente em dados no formato JSON. Ao inserir um documento JSON e uma expressão correspondente, a ferramenta apresenta de forma imediata os valores extraídos e os respetivos caminhos de origem dentro da estrutura de dados. Este processo ajuda a compreender com precisão o comportamento de filtros e seletores antes de os aplicar em ambientes de produção ou desenvolvimento.

Funcionamento e Limites de Entrada

A ferramenta opera com dois campos de entrada principais, sujeitos a limites específicos para garantir a estabilidade do processamento no navegador:

  • Entrada JSON: O utilizador insere os dados estruturados em formato JSON num campo de texto dedicado. O tamanho máximo permitido para esta entrada é de 500 000 caracteres. Se este limite for ultrapassado, a interface exibe a mensagem: "Este JSON é grande demais para ser testado aqui. Tente um exemplo menor.".
  • Expressão JSONPath: O campo de texto destinado à consulta aceita expressões com um comprimento máximo de 4000 caracteres. Caso a expressão exceda este limite, surge o aviso: "Esta expressão JSONPath é longa demais para ser testada aqui.".

O processamento dos dados ocorre localmente. O seu JSON e JSONPath são testados diretamente no seu navegador, pelo que nada é enviado para o BroBroGo.

Sintaxe JSONPath e Seleção de Dados

O JSONPath funciona como uma linguagem de consulta para JSON, de forma análoga ao que o XPath representa para o XML. A ferramenta suporta os padrões mais comuns de consulta para navegar e filtrar propriedades em objetos e matrizes (arrays):

  • Navegação Direta: Caminhos explícitos que apontam para chaves específicas, como $.store.book[*].title.
  • Descida Recursiva: O operador de pesquisa profunda $..price localiza a chave especificada em qualquer nível de profundidade da árvore JSON.
  • Filtros de Expressão: Filtros condicionais baseados em valores, como [?@.price < 10], que extraem apenas os elementos que cumprem o critério definido.
  • Fatiamento de Arrays (Slices): Sintaxe de intervalo para selecionar subconjuntos de listas com base nos seus índices.

A validação em tempo real analisa a estrutura do documento e a sintaxe da consulta. Se o documento JSON contiver erros de formatação, a ferramenta indica "Este JSON não é válido.". Se a expressão JSONPath contiver erros de escrita ou operadores inválidos, é exibida a mensagem "Esta expressão JSONPath não é válida.".

Apresentação de Resultados e Restrições

Após a avaliação da expressão, a ferramenta gera uma lista detalhada com os valores correspondentes e a localização exata de cada elemento no JSON original.

  • Limite de Resultados: O sistema exibe um máximo de 200 resultados. Se a pesquisa gerar mais correspondências, a contagem é apresentada como "Correspondências: 200+" e a interface exibe a nota "Exibindo as primeiras {max} correspondências.".
  • Ausência de Correspondências: Quando a expressão é válida mas não encontra elementos que satisfaçam os critérios, surge a indicação "Nenhuma correspondência encontrada.".
  • Erros de Avaliação: Se ocorrer uma falha inesperada durante a execução da consulta, o sistema mostra "Não foi possível avaliar este JSONPath.".
  • Limitação de Tempo (Timeout): Consultas excessivamente complexas ou aplicadas a volumes de dados muito grandes podem ser interrompidas para evitar o bloqueio do navegador. Nesses casos, é exibido o aviso: "O processamento deste JSONPath demorou muito. Restrinja a expressão ou use um exemplo menor.".

Aplicação no Desenvolvimento e Teste de APIs

No desenvolvimento de APIs, o JSONPath é frequentemente utilizado para validar respostas de serviços web, extrair variáveis em testes automatizados e filtrar cargas úteis (payloads) de dados. Engenheiros de dados, programadores e técnicos de suporte utilizam estas expressões para isolar pontos de dados específicos em estruturas complexas e aninhadas.

A inclusão do caminho de origem para cada correspondência permite que o utilizador identifique a hierarquia exata de um elemento. Isto facilita a replicação de caminhos de extração em código aplicacional ou em ferramentas de integração de sistemas.

Perguntas Frequentes

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

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

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