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

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.
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.
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
👀 See Also

pop-pay MCP server adiciona guardrails de pagamento para agentes Claude Code
pop-pay é um servidor MCP que permite que agentes Claude Code realizem compras sem expor números de cartão de crédito. Ele usa injeção CDP para inserir credenciais de cartão virtual diretamente em iframes de pagamento, com Claude recebendo apenas números de confirmação mascarados.

codebase-md: Ferramenta gera automaticamente CLAUDE.md com manutenção de git hook
codebase-md v0.1.0 analisa projetos para gerar arquivos CLAUDE.md com detecção de arquitetura, verificações de saúde de dependências e insights do git. Inclui hooks do git para manter a documentação atualizada e suporta outras ferramentas de codificação de IA com arquivos de configuração adicionais.

Sentido: Go SDK para asserções de teste com LLM e extração de texto estruturado
Sense é um SDK Go que utiliza o Claude para duas funções principais: avaliar saídas não determinísticas em testes com asserções em inglês simples, e extrair structs tipadas de textos não estruturados através de reflexão e tool_use forçado.

Scrapling integrado como a espinha dorsal de raspagem do OpenClaw
Scrapling, uma biblioteca de código aberto que aprende a estrutura da página e se adapta a mudanças, foi integrada ao OpenClaw como seu mecanismo de scraping central. É 774x mais rápido que BeautifulSoup com Lxml e suporta múltiplos tipos de seletores com sessões assíncronas.