jsongrep: Uma Ferramenta de Consulta JSON Baseada em DFA Que Supera o jq em Benchmarks

✍️ OpenClawRadar📅 Publicado: March 27, 2026🔗 Source
jsongrep: Uma Ferramenta de Consulta JSON Baseada em DFA Que Supera o jq em Benchmarks
Ad

O que o jsongrep faz

jsongrep (binário jg) recebe uma consulta e uma entrada JSON e imprime cada valor cujo caminho através do documento corresponda à consulta. Ele trata documentos JSON como árvores onde objetos e arrays são ramificações, escalares são folhas, e chaves e índices rotulam as arestas. A linguagem de consulta é uma linguagem regular sobre o alfabeto de chaves e índices.

Recursos da Linguagem de Consulta

Caminhos com ponto selecionam campos aninhados por nome: jg 'roommates[0].name' retorna roommates.[0].name: "Alice".

Curingas correspondem a qualquer chave única (*) ou qualquer índice de array ([*]): jg 'favorite_drinks[*]' retorna todos os elementos do array.

Alternância (|) corresponde a qualquer ramificação: jg 'name | roommates' retorna ambos os campos.Descida recursiva usa * e [*] dentro de uma estrela de Kleene para percorrer arbitrariamente profundamente: jg '(* | [*])*.name' encontra cada campo name em qualquer profundidade. A flag -F fornece uma abreviação: jg -F name faz o mesmo.

Opcional (?) corresponde a zero ou uma ocorrência: jg 'roommates[0].favorite_food?' retorna tanto o objeto pai quanto o valor do campo.

Ad

Abordagem Técnica

jsongrep compila consultas em autômatos finitos determinísticos (DFA) usando um pipeline que inclui: análise da consulta, tratamento do JSON como uma árvore, construção de um NFA usando o algoritmo de Glushkov, determinização via construção de subconjuntos, e busca usando DFS com transições DFA. Isso permite processamento em uma única passagem com trabalho O(1) por símbolo de entrada, evitando retrocesso, pilhas de recursão e explosão exponencial em consultas patológicas.

O autor observa que isso difere fundamentalmente de ferramentas como jq, jmespath ou jsonpath-rust, que interpretam expressões de caminho, avaliam consultas em cada nó, verificam predicados e descem recursivamente—potencialmente revisitando subárvores ou mantendo listas de trabalho com consultas de descida recursiva.

Instalação e Disponibilidade

Instale do crates.io: cargo install jsongrep. Como ripgrep (que inspirou o projeto), jsongrep é multiplataforma com binários disponíveis e escrito em Rust.

A ferramenta detecta se a saída é canalizada para comandos como less ou sort e omite caminhos JSON por padrão (substitua com a opção --with-path).

📖 Leia a fonte completa: HN LLM Tools

Ad

👀 See Also

Repowise: Contexto pré-computado do código base para Claude Code reduz uso de tokens e tempo de tarefa pela metade
Tools

Repowise: Contexto pré-computado do código base para Claude Code reduz uso de tokens e tempo de tarefa pela metade

Repowise indexa sua base de código em quatro camadas (grafo de dependências, sinais de git, wiki de documentação, ADRs) e expõe oito ferramentas MCP para o Claude Code, reduzindo uma sessão de arqueologia de 30 arquivos para 5 chamadas MCP e 2 minutos.

OpenClawRadar
Estrutura de Autorrefinamento Recursivo para Agentes de Codificação de IA Usando Claude Code
Tools

Estrutura de Autorrefinamento Recursivo para Agentes de Codificação de IA Usando Claude Code

Um framework de código aberto permite que agentes de codificação de IA melhorem-se recursivamente usando Claude Code. O sistema analisa rastros dos agentes, identifica padrões de falha e implementa correções, alcançando um aumento de 25% no desempenho em um ciclo de teste.

OpenClawRadar
MCP-Loci: Servidor de Memória Persistente Local para Claude e IA Compatível com MCP
Tools

MCP-Loci: Servidor de Memória Persistente Local para Claude e IA Compatível com MCP

MCP-Loci é um servidor de memória persistente que resolve a limitação de memória baseada em sessão do Claude com cinco ferramentas: lembrar, recuperar, esquecer, sintetizar e saúde. Ele usa correspondência de palavras-chave híbrida BM25 e embeddings semânticos para recuperação precisa sem exigir chaves de API.

OpenClawRadar
O Aplicativo iOS ClawTalk Permite Chat por Voz com Agentes de IA OpenClaw Auto-Hospedados
Tools

O Aplicativo iOS ClawTalk Permite Chat por Voz com Agentes de IA OpenClaw Auto-Hospedados

ClawTalk é um aplicativo nativo para iOS que fornece chat de voz push-to-talk para configurações de LLM auto-hospedadas do OpenClaw. Ele apresenta conversão de fala em texto no dispositivo usando WhisperKit, respostas em streaming em tempo real com renderização de markdown e suporta múltiplas opções de TTS, incluindo ElevenLabs, OpenAI e as vozes integradas da Apple.

OpenClawRadar