Valide a sintaxe sem documento
Analisar só precisa do Pointer. Gerar usa strings: [] é a raiz, [""] uma chave vazia; [0] é rejeitado. Apenas ao localizar, o contêiner de origem define se "0" representa uma chave ou um índice.
Ferramentas JSON
Escolha uma operação. Só a localização de valores precisa do documento JSON.
A cópia e o download contêm apenas o resultado principal completo: valor JSON, array de tokens, Pointer gerado ou token transformado. Os detalhes de referência não são incluídos.
As entradas ficam na memória do navegador e não são enviadas nem salvas.
Simples: entrada vazia seleciona a raiz; / seleciona uma chave vazia. Fragmento: inclua # e use codificação percentual UTF-8. Espaços e quebras de linha importam e não são removidos.
Execute novamente para atualizar o resultado. Copiar e baixar ficam desativados enquanto ele estiver desatualizado.
JSON Pointer permite validar um endereço antes de procurá-lo em um documento. Uma sintaxe válida não garante que o destino exista. Uma chave ausente causa erro; null, false e uma string vazia podem ser valores encontrados corretamente.
Um ponteiro JSON percorre chaves e índices de array por meio de tokens. O escape de tokens e a codificação de um fragmento URI são etapas diferentes. A ferramenta não exibe uma árvore completa nem pesquisa por aproximação.
JSON Pointer usa a string vazia para a raiz. / indica uma chave de nome vazio, enquanto /items/0 indica o primeiro item de um array. Os tokens deixam claro que esses endereços selecionam lugares diferentes.
JSON Pointer aplica escape a ~ e / dentro dos tokens. O fragmento URI acrescenta codificação percentual UTF-8. As referências mostram as duas formas; cada camada é decodificada uma única vez.
Analisar só precisa do Pointer. Gerar usa strings: [] é a raiz, [""] uma chave vazia; [0] é rejeitado. Apenas ao localizar, o contêiner de origem define se "0" representa uma chave ou um índice.
O Pointer simples não decodifica porcentagens. O fragmento começa com # e seus bytes são decodificados antes da divisão por /. #/a%2Fb gera dois tokens; #/a~1b aponta para a chave a/b. + continua sendo um sinal de mais.
Ctrl/Cmd+Enter executa a operação. A exportação leva o resultado principal, sem referências. Alterações deixam o resultado desatualizado. Exemplo e limpeza exigem prévia de substituição; Desfazer restaura entradas, opções e saída.
JSON Pointer analisa um endereço, localiza um valor ou gera um caminho a partir de tokens. Duas outras operações aplicam e removem escape de um token. Só localizar lê o documento JSON; os demais modos ignoram seu conteúdo.
Chaves são comparadas sem normalizar Unicode nem alterar maiúsculas. Arrays exigem índices canônicos a partir de 0. Um objeto pode conter as chaves "01" ou "-", embora esses tokens não selecionem um item existente de array.
Inteiros grandes, decimais precisos, expoentes e -0 preservam sua grafia. Não há conversão de ponto flutuante. Contêineres selecionados continuam como estruturas JSON completas, sem transformar objetos em strings.
~01 vira ~1, nunca /. Sequências inválidas mostram o token, numerado a partir de 1. Fragmentos exigem UTF-8 válido; %252F vira %2F sem uma segunda decodificação.
JSONPath pode selecionar vários valores com filtros e curingas. JSON Pointer indica um único endereço exato. Esta ferramenta não executa expressões de consulta nem cria valores padrão para caminhos ausentes.
~0 representa ~, e ~1 representa / dentro de um token. Na remoção, ~1 é tratado antes de ~0, sem repetir o processo: ~01 se torna o texto ~1, não uma barra.
Na forma simples, a entrada vazia seleciona todo o documento. Na forma de fragmento, # seleciona a raiz. / e #/ apontam para uma propriedade cujo nome é vazio; não são sinônimos da raiz.
Confira a representação escolhida, os escapes e a existência do destino. Arrays não aceitam zeros iniciais, índices negativos ou - para leitura. Também não é possível continuar atravessando um valor escalar. Erros de documento JSON são informados separadamente.
Você pode localizar um valor e conferir seu endereço, ou gerar um Pointer a partir de tokens explícitos. Não há extração de todos os caminhos nem árvore interativa; essa tarefa pertence à ferramenta de chaves e caminhos.
Um endereço trouxe um resultado inesperado?
Teste JSON Pointer com o exemplo e compare raiz, tokens e fragmento antes de copiar o resultado principal completo.