Consultar valores com JSON Pointer

Extraia um valor JSON usando um caminho JSON Pointer.

Seus arquivos são processados aqui, no seu dispositivo

Não enviamos seu arquivo ou conteúdo de texto para um servidor de processamento. Nenhuma conta é necessária e não há cota de operação diária. Ferramentas individuais têm limites de tamanho para proteger a memória do seu dispositivo.

Uma conexão é necessária para carregar o site e seus recursos. Hospedagem pode receber dados técnicos de visitas. Os favoritos armazenam apenas identificadores de ferramenta neste navegador.

Como lidamos com seus dados →

Como usar esta ferramenta

  1. Cole um documento JSON válido.
  2. Digite um caminho começando com / ou deixe-o vazio para selecionar a raiz.
  3. Procure o valor e inspecione seu tipo antes de baixar o JSON.

Um exemplo que você pode verificar

Recuperar o primeiro nome de usuário de uma resposta fictícia.

Entrada de exemplo

{"users":[{"name":"Ana"}]}

ConfiguraçõesCaminho: /users/0/name

Resultado esperado

"Ana"

A saída mantém o tipo JSON: as aspas indicam uma string. Um caminho vazio retorna o objeto inteiro e /users retorna o array.

Consultar valores com JSON PointerUsos e orientação prática

JSON Pointer identifica um valor usando um caminho específico dentro de um documento JSON. É útil quando uma resposta contém objetos e arrays aninhados, mas você só precisa de um membro. Cada segmento de caminho começa com uma barra. Em /users/0/name, os usuários selecionam um membro de objeto raiz, 0 seleciona o primeiro item de matriz e o nome seleciona o membro desse item. A pesquisa não pesquisa o documento inteiro: segue segmentos em ordem e para com um erro quando um segmento não pode ser resolvido. Isso distingue um caminho incorreto de um valor existente que é nulo.

Um caminho vazio seleciona o documento inteiro. Uma única barra seleciona um membro do objeto cujo nome é a string vazia, se esse membro existir. Uma barra literal em um nome de membro é codificado como 1 dentro de um segmento; um til literal é codificado como 0. Por exemplo, /a~1b seleciona o membro a/b. A sequência 01 representa o texto 1 ao invés de uma barra. O espaço em branco do caminho não é aparado porque os espaços podem ser partes significativas dos nomes dos membros. Os nomes devem corresponder exatamente: letras maiúsculas não são ignoradas e acentos ou formulários de normalização Unicode diferentes não são tratados como equivalentes.

Os índices de matriz começam em zero e devem ser escritos como inteiros não negativos sem zeros principais. /items/01 não seleciona o segundo item. Um hífen também não é interpretado como o último item; essa pesquisa recupera apenas valores que já existem. Um nome como construtor só é acessível quando é um membro do objeto JSON, em vez de algo herdado da cadeia de protótipos do JavaScript. A interface aceita a forma textual de JSON Pointer, não expressões JSONPath com curingas, filtros ou sinais de dólar, e não a representação do URI-fragmento de um ponteiro.

A saída preserva o tipo JSON do valor selecionado. Strings aparecem entre aspas, números permanecem números, nulos permanecem nulos, e objetos ou matrizes são mostrados como JSON recuado. Isso torna fragmentos baixados interpretáveis por outro programa. A análise rejeita chaves duplicadas para evitar a seleção ambígua de membros e inteiros fora do alcance seguro do navegador para evitar a perda de precisão. Identificadores numéricos longos devem ser fornecidos como strings pelo sistema de origem. A entrada suporta um milhão de caracteres, cem níveis de aninhamento e um número limitado de elementos para manter a página responsiva. Para documentos maiores, primeiro reduza o conteúdo mantendo a estrutura necessária pelo caminho selecionado e verifique o valor extraído contra a fonte original.

Opções e limites

Cole um JSON e um caminho como /users/0/name. Um caminho vazio retorna o documento inteiro. Nos nomes das propriedades, ~1 representa / e ~0 representa ~. JSONPath e fragmentos URI não são aceitos. Chaves duplicadas, inteiros sem precisão segura e mais de 100 níveis de aninhamento são rejeitados.

Perguntas frequentes

Os índices de matriz começam em zero?

Sim. /items/0 seleciona o primeiro item. Não são permitidos zeros como /items/01.

Guias