Avaliar JSONPath RFC 9535
Gramática RFC 9535, caminhos e valores normalizados, filtros, índices negativos, slices e uniões, com uma descida recursiva por expressão.
- Funciona no navegador
- Sem upload
- Confira antes de baixar
Os dados de entrada ficam nesta aba, sem envio nem salvamento automático. As contagens agregadas de uso e os diagnósticos gerais de processamento são opcionais e só são enviados com o seu consentimento, sem conteúdo nem nomes de arquivos. Limpar ou fechar apaga os dados; salve antes os resultados de que precisar.
Formatos e limites
Gramática RFC 9535, caminhos e valores normalizados, filtros, índices negativos, slices e uniões, com uma descida recursiva por expressão. Até 32 segmentos, multiplicador de união de seletores de até 16, AST de até 2.048 nós e até 1.000 resultados. match e search usam I-Regexp em um worker que pode ser encerrado. Não há avaliação de JavaScript nem código de funções próprias.
Somente UTF-8. Entrada de até 1 MiB; XML de até 100.000 unidades UTF-16; profundidade de até 64; JSON de até 20.000 nós. JSONL de até 16 MiB, 100.000 registros e 1 MiB por valor. Saída de até 32 MiB. Consultas: 3 s; outras tarefas: 10 s; o worker pode ser cancelado. A memória nativa do XSD é de até 64 MiB, o que não é toda a memória do worker nem do DOM.
Como usar
- Escolher origem e modo
Cole o JSON e digite um JSONPath que comece com $. Com o exemplo de livros carregado, use $.store.book[?@.price < 10].title; não é preciso nenhuma função de callback em JavaScript.
- Configurar parâmetros
O livro A custa 8.5 e o B custa 12. O filtro retorna o valor A no caminho normalizado $['store']['book'][0]['title']; mudar o limite para 5 resulta em nenhuma correspondência, e não em uma consulta malformada.
- Verificar e baixar
Confira os caminhos junto com os valores e depois salve o resultado em JSON. Um caminho identifica uma posição nesta entrada; valores iguais em caminhos diferentes são correspondências separadas. O JSON original não é alterado.
Formatos e limites
Por que a entrada é rejeitada ou o resultado fica vazio?
Antes de tratar um resultado vazio como falha, confira os nomes das propriedades, que diferenciam maiúsculas de minúsculas, e as posições nos arrays. Expressões de filtro em JavaScript e funções personalizadas não são aceitas. Erros de precisão numérica exigem corrigir a representação da entrada, e não afrouxar a consulta.
Qual perfil de análise e quais limites se aplicam?
O perfil declarado, baseado na RFC 9535, limita as expressões a 32 segmentos e 1000 correspondências, com uma única descida recursiva por expressão. match e search usam um processamento limitado de I-Regexp no worker; isso não é a execução de scripts arbitrários.
As entradas ou os arquivos referenciados são enviados a um servidor?
A análise acontece localmente, em um worker do navegador. URLs presentes na entrada não baixam documentos remotos. Informe as dependências de esquema compatíveis como arquivos locais, guarde a sua fonte à parte e baixe os resultados antes de fechar a página.