Executar filtros jq localmente
Gramática jq limitada: caminhos, índices, slices, iteração e ?; pipes, fluxos com vírgula e padrão //; arrays e objetos; comparações, and, or e aritmética; e map,…
- 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 jq limitada: caminhos, índices, slices, iteração e ?; pipes, fluxos com vírgula e padrão //; arrays e objetos; comparações, and, or e aritmética; e map, select, length, keys, type, tostring, tonumber, has, add, reverse, first, last, sort, sort_by, unique, range, empty e not. Até 100.000 passos, 1.000 valores emitidos e 2.048 nós AST. Sem variáveis, definições, módulos nem entrada e saída. Não é o jq completo.
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 um documento JSON e comece com . para retorná-lo inteiro. Para obter os IDs ativos, use .items[] | select(.active) | .id. Escolha a saída em array JSON ou JSONL antes de executar o filtro.
- Configurar parâmetros
No exemplo carregado, os IDs 1 e 3 estão ativos e o ID 2, não. O filtro acima resulta em [1,3] no modo array, ou em 1 e depois 3 em linhas JSONL separadas. Já map(...) emite um único array, e a saída em array o envolve como [[...]].
- Verificar e baixar
Confira o número de valores emitidos e baixe jq-result.json ou jq-result.jsonl. Nenhum resultado é um array vazio ou um fluxo vazio válido, e não um erro de análise. A entrada é um único documento JSON, e não um fluxo JSONL sem delimitação.
Formatos e limites
Por que a entrada é rejeitada ou o resultado fica vazio?
Confira a sintaxe do filtro, a estrutura da entrada e os avisos numéricos. Se um inteiro perder a precisão segura, coloque-o entre aspas, como uma string de ID; não arredonde em silêncio. Variáveis, def personalizado e módulos importados não têm suporte; eles não são campos de entrada ausentes.
Qual perfil de análise e quais limites se aplicam?
É um subconjunto limitado do jq, e não a linha de comando do jq: só caminhos, iteração, pipes e as funções listadas. São permitidos no máximo 1000 valores emitidos, 100000 passos e 2048 nós de AST; não há acesso a sistema de arquivos, rede, módulos nem código arbitrário.
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.