Resumo
- O RFC 9535 define a avaliação de uma consulta JSONPath contra um valor JSON concreto e o retorno de uma lista com zero ou mais nós. Cada nó tem um único Caminho Normalizado naquele valor.
$['approvals'][3]pode apontar exatamente para a quarta aprovação agora e para outra depois que um item for inserido antes. Posição única não é identidade duradoura.- Lista vazia, JSON
null, seleção duplicada e índice fora da faixa são estados diferentes. Uma decisão precisa guardar entrada, consulta, implementação, resultado e política.
Um endereço não vira identidade só porque foi escrito sem ambiguidade.
Às 9h, $['approvals'][3] encontra a aprovação de uma pessoa. Às 9h05, uma solicitação antiga é inserida no começo do array. A consulta não mudou, continua válida e ainda devolve um nó, mas o ocupante da posição mudou. Se o sistema reteve apenas o caminho, já não consegue provar o que avaliou às 9h.
Publicado na trilha de padrões do IETF em fevereiro de 2024, o RFC 9535 delimita o mecanismo. JSONPath executa uma consulta sobre um valor JSON — o argumento da consulta — e produz uma lista de nós. Cada nó combina valor e localização naquela entrada. A norma torna a seleção interoperável; não autentica o documento nem atribui significado de negócio ao campo.
A forma canônica congela uma coordenada
O Caminho Normalizado usa colchetes e escapes canônicos para identificar exatamente um nó. Há um único caminho para cada nó de um valor. Isso serve bem a testes, comparação, pós-processamento e remoção explícita de duplicatas.
A restrição está em “um valor”. O caminho não contém hash, versão, origem, esquema ou ID estável. Até um índice negativo depende do tamanho do array concreto: a normalização registra a posição não negativa resolvida. Mude o tamanho e a associação lógica pode desaparecer.
O JSON Pointer do RFC 6901 também localiza valores em uma estrutura conhecida, e o RFC 9535 permite converter um caminho normalizado em pointer. A troca de notação não cria continuidade histórica.
Vazio, nulo e falha não são sinônimos
Uma lista vazia é resultado válido. Um índice fora da faixa apenas seleciona menos nós, e os segmentos seguintes permanecem vazios. Isso difere de sintaxe inválida, timeout, limite de recursos ou rejeição do parser.
Também difere de JSON null: null é um valor presente; membro ausente não gera nó. Uma regra de acesso que reduza ambos ao mesmo falso pode usar um mecanismo correto para chegar a uma política errada.
Seleções repetidas preservam duplicatas. count() conta nós, não valores, caminhos ou entidades únicas. Quando mais de uma ordem é permitida, execuções sucessivas podem devolver ordens diferentes e conformes. “Escolha o primeiro” é regra do aplicativo, salvo se outro contrato definir a ordem.
Interoperabilidade não produz autoridade
O RFC 8259 define JSON e alerta para nomes de membro repetidos; o RFC 7493 reduz ambiguidades com I-JSON. O RFC 9485 dá perfil comum às expressões de match() e search(). O registro JSONPath da IANA mantém extensões, e application/jsonpath identifica documentos de consulta.
Esses acordos ajudam sistemas a selecionar os mesmos nós. Não provam que owner seja proprietário legal, que o dado esteja atual ou que a fonte seja autorizada. O RFC 9537 mostra a fronteira: JSONPath localiza um campo removido em uma resposta RDAP, mas não revela o valor oculto nem valida a política da remoção.
A segurança começa antes do cifrão
O RFC 9535 adverte contra passar fragmentos ao eval da linguagem hospedeira. Nomes, índices e comparações interpolados exigem validação e escape. Uma descida recursiva ingênua também pode consumir CPU em excesso ou estourar a pilha. Sintaxe correta precisa de execução limitada e falha explícita.
O UTF-8 do RFC 3629 e as considerações do modelo do RFC 8949 ajudam na representação, não na procedência. A cadeia completa liga bytes de origem, valor analisado, consulta, implementação e extensões, lista de nós, interpretação e decisão.
Um recibo capaz de reproduzir a decisão
Para acesso, conformidade, política de roteamento ou incidente, guarde entrada ou hash e procedência; parser e tratamento de nomes duplicados; consulta exata e tipo de mídia; variáveis antes e depois da validação; implementação, versão e extensões; limites de tempo e recursos; caminhos normalizados e valores permitidos; deduplicação e ordenação posteriores; esquema, política, ator, horário e resultado.
Isso sustenta a frase: X avaliou Q sobre o hash H sob limites L e devolveu estes locais. Afirmar que é o mesmo registro de ontem exige um ID estável no esquema e evidência entre versões.
Fontes e limites
O registro oficial inclui HTML, texto, página informativa, Datatracker, histórico e busca de erratas. O repositório do grupo registra a elaboração, e a comparação JSONPath mostra o contexto anterior.
Também foram usados os RFCs 8259, 7493, 9485, 6901, 8949, 3629 e 9537, além do registro IANA e do tipo de mídia. A análise de governança segue Heng Lu sobre camadas de realidade, especificação inicial mínima e primazia do código em execução.
Nenhuma implementação, organização, invasão ou falha específica foi auditada. O texto não atribui defeito ao RFC 9535 nem uso indevido a uma entidade.
Briefing para membros
Contexto aprofundado do perfil
Faça login com o nível de assinatura correto para desbloquear o briefing completo e as notas das fontes.
Apenas para Strategic Circle
Strategic Circle
Aberto a todos os leitores. Desbloqueie Briefings de perfil após se inscrever e fazer login.
Junte-se ao Strategic CircleSomente para Leadership Alliance
Leadership Alliance
Para proprietários e gestores qualificados de ativos de PI; faça login para desbloquear os briefings da Leadership Alliance.
Junte-se ao Leadership Alliance

