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

E2a: Puerta de enlace de correo electrónico de código abierto para agentes de IA con verificación SPF/DKIM y entrega mediante webhook/WebSocket
Herramientas

E2a: Puerta de enlace de correo electrónico de código abierto para agentes de IA con verificación SPF/DKIM y entrega mediante webhook/WebSocket

E2a es una puerta de enlace de correo electrónico autenticada para agentes de IA que verifica SPF/DKIM en el correo entrante, entrega mediante webhook o WebSocket y admite correo saliente con aprobación humana.

OpenClawRadar
Los ganchos de código de Claude evitan la interferencia entre pestañas de Chrome en múltiples sesiones.
Herramientas

Los ganchos de código de Claude evitan la interferencia entre pestañas de Chrome en múltiples sesiones.

Un desarrollador creó tres hooks (session-start, capture-tab-id, enforce-tab-id) que anclan cada sesión de Claude Code a su propia pestaña de Chrome, evitando que las sesiones accedan accidentalmente a las pestañas de otras sesiones durante ejecuciones de pruebas y llenados de formularios.

OpenClawRadar
Plataforma de IA de Cloudflare: Capa de Inferencia Unificada para Agentes de IA
Herramientas

Plataforma de IA de Cloudflare: Capa de Inferencia Unificada para Agentes de IA

La Plataforma de IA de Cloudflare proporciona una única API para acceder a más de 70 modelos de más de 12 proveedores, incluido soporte multimodal para modelos de imagen, video y voz. Permite cambiar entre modelos con modificaciones de una sola línea de código y ofrece monitoreo centralizado de costos con metadatos personalizados.

OpenClawRadar
PixelCheck: Un paquete npm que permite a los agentes de IA verificar visualmente páginas web
Herramientas

PixelCheck: Un paquete npm que permite a los agentes de IA verificar visualmente páginas web

PixelCheck es un paquete npm que permite a los agentes de IA abrir, interactuar y puntuar páginas web visualmente — sin más bucles manuales de captura de pantalla y retroalimentación.

OpenClawRadar