Consulta el JSON pegado con selectores y filtros de comparación simples, y revisa cada valor encontrado junto con su ruta. La sintaxis no compatible se rechaza; no se ejecutan expresiones JavaScript.
Se ejecuta localmente en tu navegadorAdmite nombres, notación entre corchetes, índices, comodines, uniones, segmentos, selectores descendentes y filtros de comparación simples.
El análisis principal de la consulta se realiza localmente. Las expresiones no admitidas devuelven un error claro en lugar de recurrir a eval().
Pega un documento JSON, escribe una expresión JSONPath y lee cada coincidencia como ruta normalizada junto a su valor. La consulta se ejecuta sobre el texto de esta pestaña: no se sube nada y ninguna petición sale de la página.
El analizador es propio de esta herramienta y nunca recurre a eval(). La sintaxis que no implementa se detiene con un error concreto: los filtros combinados con &&, || o ! se rechazan, igual que comparar un filtro con la raíz del documento.
Nombres, nombres entrecomillados e índices: $.store.book, $["store"]["book"], $['store']['bicycle'], [0], [-1] para el último elemento y uniones como [0,1] o ['a','b']. Un nombre fuera de corchetes empieza por letra, guion bajo o $ y continúa con letras, dígitos, guion bajo, $ o guion; una clave con punto o espacio necesita la forma entre corchetes.
Comodines, segmentos y descendientes: $.store.*, $..price, [0:2], [::2], [::-1]. Los segmentos siguen los mismos límites que en Python: un límite negativo cuenta desde el final y un paso negativo recorre hacia atrás.
Un filtro evalúa una sola comparación y acepta ==, !=, <, <=, > y >= frente a un número, una cadena entrecomillada, true, false o null: [?(@.price < 10)] o [?(@.title == "Moby Dick")]. Un filtro sin operador conserva los nodos en los que la propiedad existe y es verdadera: [?(@.isbn)].
Lo que el analizador no puede evaluar se rechaza en lugar de adivinarse: [?(@.price > 1 && @.price < 10)] responde que los filtros combinados no están admitidos, [?(@.price > $.expensive)] que un filtro no puede compararse con la raíz y una expresión regular como =~ /a/ que la expresión de filtro no está admitida.
Cada coincidencia informa de su ruta en una única forma normalizada, $["store"]["book"][0]["author"], sea cual sea la notación usada en la consulta, y el mismo nodo nunca aparece dos veces. Copiar JSON del resultado devuelve los valores coincidentes como un único array JSON, listo para un fixture o un diff.
La tarjeta Coincidencias muestra los 200 primeros resultados e indica cuántos quedan fuera; el botón de copiar sigue entregando el array completo. Un documento de 50.000 nodos responde a una consulta con comodín en menos de un segundo, y los documentos muy anidados se recorren sin desbordar la pila.