jsongrep: Una Herramienta de Consulta JSON Basada en DFA que Supera a jq en Puntos de Referencia

✍️ OpenClawRadar📅 Publicado: 27 de marzo de 2026🔗 Source
jsongrep: Una Herramienta de Consulta JSON Basada en DFA que Supera a jq en Puntos de Referencia
Ad

Qué hace jsongrep

jsongrep (binario jg) toma una consulta y una entrada JSON e imprime cada valor cuya ruta a través del documento coincida con la consulta. Trata los documentos JSON como árboles donde los objetos y arreglos se ramifican, los escalares son hojas, y las claves e índices etiquetan los bordes. El lenguaje de consulta es un lenguaje regular sobre el alfabeto de claves e índices.

Características del lenguaje de consulta

Las rutas con punto seleccionan campos anidados por nombre: jg 'roommates[0].name' devuelve roommates.[0].name: "Alice".

Los comodines coinciden con cualquier clave única (*) o cualquier índice de arreglo ([*]): jg 'favorite_drinks[*]' devuelve todos los elementos del arreglo.

La alternancia (|) coincide con cualquiera de las ramas: jg 'name | roommates' devuelve ambos campos.

El descenso recursivo usa * y [*] dentro de una estrella de Kleene para recorrer arbitrariamente profundo: jg '(* | [*])*.name' encuentra cada campo de nombre en cualquier profundidad. La bandera -F proporciona una forma abreviada: jg -F name hace lo mismo.

El opcional (?) coincide con cero o una ocurrencia: jg 'roommates[0].favorite_food?' devuelve tanto el objeto padre como el valor del campo.

Ad

Enfoque técnico

jsongrep compila consultas en autómatas finitos deterministas (DFA) utilizando una canalización que incluye: analizar la consulta, tratar JSON como un árbol, construir un NFA usando el algoritmo de Glushkov, determinizar mediante construcción de subconjuntos y buscar usando DFS con transiciones DFA. Esto permite procesar en una sola pasada con trabajo O(1) por símbolo de entrada, evitando retroceso, pilas de recursión y explosión exponencial en consultas patológicas.

El autor señala que esto difiere fundamentalmente de herramientas como jq, jmespath o jsonpath-rust, que interpretan expresiones de ruta, evalúan consultas en cada nodo, verifican predicados y descienden recursivamente, potencialmente revisitando subárboles o manteniendo listas de trabajo con consultas de descenso recursivo.

Instalación y disponibilidad

Instalar desde crates.io: cargo install jsongrep. Como ripgrep (que inspiró el proyecto), jsongrep es multiplataforma con binarios disponibles y escrito en Rust.

La herramienta detecta si la salida se canaliza a comandos como less o sort y omite las rutas JSON por defecto (anular con la opción --with-path).

📖 Leer la fuente completa: HN LLM Tools

Ad

👀 Ver también

Context-Kit: Herramienta de Código Abierto para la Configuración de Asistentes de IA
Herramientas

Context-Kit: Herramienta de Código Abierto para la Configuración de Asistentes de IA

Context-kit es una herramienta gratuita que genera archivos de configuración y documentación de habilidades para asistentes de codificación con IA. Es compatible con Claude Code, Cursor, Windsurf, GitHub Copilot y Gemini CLI.

OpenClawRadar
Tres servidores MCP para investigación en comercio electrónico con Claude: herramientas de Shopify, Amazon y Google Maps.
Herramientas

Tres servidores MCP para investigación en comercio electrónico con Claude: herramientas de Shopify, Amazon y Google Maps.

Un desarrollador creó tres servidores MCP para que Claude analice tiendas Shopify sin claves API, evalúe oportunidades de productos en Amazon y encuentre/califique clientes potenciales de negocios locales desde Google Maps. Todos están disponibles en Apify.

OpenClawRadar
Pruebas de referencia de tonterías: resistencia de LLM a indicaciones sin sentido
Herramientas

Pruebas de referencia de tonterías: resistencia de LLM a indicaciones sin sentido

El Bullshit Benchmark evalúa si los modelos de IA identifican y rechazan indicaciones obviamente absurdas en lugar de generar respuestas incorrectas con confianza. Los resultados muestran que los modelos Claude tienen un rendimiento significativamente mejor que los modelos Gemini en la detección de preguntas sin sentido.

OpenClawRadar
Flujo de trabajo de revisión de código MultiModel empaquetado como habilidad reutilizable
Herramientas

Flujo de trabajo de revisión de código MultiModel empaquetado como habilidad reutilizable

Una habilidad reutilizable que orquesta múltiples modelos de IA para revisiones de código en PR y no PR, probada con OpenClaw y modelos como GPT-5.5, DeepSeek V4 Pro, Kimi K2.6, Qwen 3.6 Plus y GLM-5.1.

OpenClawRadar