ForHosting KIT · Dados e planilhas

Consulte JSON com expressões no estilo JSONPath

Extraia valores de um documento de dados com um caminho curto: $.store.books[*].title retorna North e South, um título por livro e na ordem em que aparecem. Um caminho sem resultados dá uma lista vazia, não um erro. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve
Se você digitar
Caminho
$.store.books[*].title
Você obtém
Correspondências
North, South

A sintaxe aceita propriedades diretas, propriedades entre aspas, índices de listas e curingas, mas rejeita deliberadamente filtros, descida recursiva, fatias, uniões e expressões executáveis. Esse contrato restrito produz resultados previsíveis para depuração, testes, inspeção de dados e automações leves.

Monte um caminho a partir do início do documento

Toda expressão começa com <code>$</code>, que representa o documento analisado inteiro. Acrescente um ponto e um nome simples de propriedade, como <code>$.customer.name</code>, para avançar por objetos. Na notação com ponto, o nome deve começar com uma letra ou sublinhado e pode continuar com letras, dígitos ou sublinhados.

Quando uma chave contém espaço, hífen, ponto ou outro caractere fora dessa regra, use uma etapa entre colchetes e aspas, por exemplo <code>$['display-name']</code> ou <code>$["shipping address"]</code>. As etapas aceitam aspas simples ou duplas e permitem escapar a aspa correspondente ou uma barra invertida. Os caminhos são avaliados da esquerda para a direita, e uma propriedade ausente não gera valor para aquele ramo.

A resposta sempre contém uma lista <code>matches</code>, mesmo quando o caminho encontra apenas um escalar. Assim, você pode tratar resultados únicos, curingas e resultados vazios com o mesmo formato de saída.

Selecione itens de listas e expanda curingas

Use um número inteiro não negativo entre colchetes para selecionar uma posição da lista, como <code>$.orders[0].id</code>. Os índices começam em zero; portanto, o primeiro item usa zero, e uma posição além do tamanho da lista não encontra nada. Use <code>[*]</code> para expandir todos os itens e continue o caminho para ler um campo de cada elemento.

Por exemplo, <code>$.store.books[*].title</code> devolve o título de cada objeto de livro que possua essa propriedade. A forma de curinga com ponto <code>.*</code> também é aceita. Curingas podem ser combinados com etapas posteriores de propriedade ou índice, e ramos sem correspondência são descartados sem interferir nos demais.

A ordem final acompanha o documento de origem e a sequência da travessia.

Reconheça a sintaxe excluída de propósito

Esta capacidade implementa uma linguagem pequena no estilo JSONPath, e não todas as variantes existentes. Ela rejeita descida recursiva como <code>$..name</code>, filtros como <code>$[?( @.price &lt; 10)]</code>, fatias, uniões, índices negativos, expressões de script e funções.

Essa decisão é intencional porque tais recursos variam entre bibliotecas, e alguns permitem avaliações inadequadas para um analisador determinístico. Já um caminho válido que não encontra nada não é um erro: ele retorna uma lista <code>matches</code> vazia. Sua automação pode, assim, diferenciar instruções malformadas de consultas válidas sobre dados opcionais ausentes.

Para integrar com segurança, valide os caminhos durante o desenvolvimento, permaneça no subconjunto documentado e determine se um conjunto vazio é aceitável no seu fluxo.

Quais recursos de JSONPath são aceitos?

O subconjunto inclui o símbolo de raiz, propriedades com ponto, propriedades entre colchetes e aspas, índices não negativos de listas e curingas.

O que acontece quando um caminho não encontra nada?

A solicitação é concluída e devolve uma lista matches vazia. Dados ausentes são diferentes de uma sintaxe de caminho inválida.

Posso usar filtros ou descida recursiva?

Não. Filtros, descida recursiva, fatias, uniões, scripts, funções e índices negativos são rejeitados.

Como leio uma chave com espaço ou hífen?

Escreva o nome entre aspas dentro de colchetes, por exemplo $['display-name'] ou $["shipping address"]. O ponto simples só funciona para nomes que começam com letra ou sublinhado e seguem com letras, dígitos ou sublinhados.

As posições de uma lista começam em 0 ou em 1?

Em 0: $.orders[0].id lê o primeiro pedido. Uma posição além do fim da lista não traz nenhum resultado, mas também não gera erro, e posições negativas não são aceitas.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/dev2/json-path-query

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/dev2/json-path-query \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"json":"{\"store\":{\"books\":[{\"title\":\"North\",\"price\":12},{\"title\":\"South\",\"price\":18}]}}","path":"$.store.books[*].title"}'
{
  "json": "{\"store\":{\"books\":[{\"title\":\"North\",\"price\":12},{\"title\":\"South\",\"price\":18}]}}",
  "path": "$.store.books[*].title"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev2.json_path_query",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Esta ferramenta de consulta no estilo JSONPath extrai valores de um documento JSON sem exigir que você escreva um script, instale dependências ou configure a linha de comando. Cole um JSON válido, informe um caminho iniciado pelo símbolo de raiz e receba uma lista ordenada de correspondências.

Monte um caminho a partir da raiz do JSON

A expressão de raiz isolada é válida e devolve o valor JSON completo como única correspondência.

Selecione itens de listas e expanda curingas

Em um objeto, o curinga visita os valores na ordem padrão das propriedades JSON; em uma lista, percorre os itens do primeiro ao último. Os valores preservam seus tipos JSON nativos: textos, números, objetos, listas, booleanos e valores nulos são devolvidos sem conversão.

Reconheça a sintaxe excluída de propósito

Expressões incompatíveis retornam um erro <code>invalid_input</code> com uma mensagem que identifica o problema de sintaxe; elas nunca são tratadas como caminhos parcialmente válidos. Um JSON inválido é rejeitado separadamente antes do início da travessia. O preço da API começa em US$ 0,002 por solicitação, e o navegador pode usar a mesma lógica determinística.

Inspecionar uma resposta de API

Extraia um status, identificador ou conjunto de valores profundamente aninhado durante a depuração de uma resposta.

Criar verificações de teste estáveis

Selecione somente os campos necessários para um teste de regressão, sem comparar um documento inteiro que muda.

Preparar automações leves

Obtenha valores de um JSON de configuração, webhook ou exportação antes de enviá-los à próxima etapa determinística.

Os valores encontrados são convertidos em texto?

Não. Eles preservam seus tipos JSON, incluindo números, booleanos, valores nulos, objetos e listas.

Quanto custa uma solicitação de API?

O preço da API começa em US$ 0,002 por solicitação. A capacidade também pode ser executada gratuitamente no navegador.

Ver a documentação completa do KIT →