JSONPath es un lenguaje de expresión para consultar y extraer datos de estructuras JSON. Inspirado en XPath para XML, proporciona una forma de recorrer la jerarquía JSON y localizar campos o valores con precisión, similar a cómo consultas SQL interrogan bases de datos. Se ha convertido en herramienta indispensable para desarrolladores y testers que trabajan con APIs y datos JSON.
El concepto fundamental de JSONPath es el uso de expresiones de ruta para navegar por la estructura de árbol JSON. El símbolo raíz $ representa el punto de inicio, luego el operador punto . accede a propiedades hijas, y corchetes [] acceden a elementos de array por posición. Por ejemplo, la expresión $.store.book[0].title parte de la raíz, accede al objeto store, luego al array book, toma el primer elemento y devuelve el valor del campo title.
Para arrays, JSONPath admite varios modos de acceso: índices numéricos simples como [0] para el primer elemento, índices negativos [-1] para el último elemento sin conocer la longitud del array, comodín * para coincidir con todos los elementos, y sintaxis de corte [start:end] para extraer rangos de elementos consecutivos. Estas funciones cubren la gran mayoría de necesidades de acceso a arrays en escenarios comunes.
El operador comodín * se puede usar para coincidir con cualquier propiedad o elemento. Por ejemplo, $.store.* devuelve todos los campos directos en store, y $.store.book[*] devuelve todos los elementos en el array book. Esto es especialmente útil para recorrer todos los hijos sin conocer nombres de campos explícitos.
La función de filtro ?() es un mecanismo potente para selección condicional de datos. En filtros, @ representa el nodo actual, y operadores de comparación ==/!=/>/</>=/<= se pueden usar para filtrar elementos según condición. Por ejemplo, $.store.book[?(@.price < 10)] selecciona todos los libros en el array book cuyo precio es menor a 10: muy práctico para extraer rápido subconjuntos de datos que cumplen criterios.
Esta herramienta integra varias funciones para mejorar la experiencia de uso: editor CodeMirror con resaltado sintáctico profesional, vista dual JSON/tabla para presentación de resultados adaptable, 8 ejemplos integrados para inicio rápido, reparación automática de errores JSON comunes, debounce de 400ms para ejecución fluida durante la escritura, atajos de teclado para eficiencia y 200 entradas de historial local para recuperar expresiones anteriores.
Todo el procesamiento se realiza localmente en el navegador: JSON y expresiones de consulta nunca se envían a servidores, garantizando privacidad absoluta de datos sensibles como claves API, tokens e información empresarial. Esto es especialmente importante para ingenieros de prueba que procesan respuestas API de producción con datos sensibles.
Esta herramienta implementa un subconjunto de sintaxis JSONPath cuidadosamente seleccionado que cubre el 90% de escenarios de uso diario: acceso a propiedades, índices de array (positivos/negativos), comodín *, corte [start:end] y filtros simples ?() con operadores de comparación. Funciones avanzadas como descenso recursivo (..), expresiones de script complejas y combinaciones de múltiples condiciones no son compatibles en esta versión, priorizando estabilidad y simplicidad para usos comunes.