Probador de JSONPath
Escribe una consulta, ve exactamente que coincide y descubre donde falla una consulta que no devuelve nada.
Entrada
El coloreado de sintaxis esta desactivado en este documento porque recolorear algo tan grande en cada pulsacion ralentizaria la escritura. Todas las herramientas siguen funcionando con normalidad.
Coincidencias
Las coincidencias aparecen aqui.
Funciona por completo en tu navegador. Nada de lo que pegas se sube, y puedes comprobarlo en la pestana Red de tu navegador.
Sobre esta herramienta
Aqui se implementa la parte de la RFC 9535 que usan las consultas reales, y se dice con claridad, en lugar de proclamar la especificacion completa y fallar en un caso limite. Estan soportados los nombres, los comodines, los indices incluidos los negativos, los cortes con paso, las uniones dentro de un mismo corchete, los segmentos descendentes y los filtros. Los filtros comparan una ruta relativa con un numero, una cadena, true, false o null, se combinan con and, or y not, y comprueban la presencia de una clave con solo nombrarla. Lo que no esta soportado aparece en la pagina y se informa por su nombre cuando lo usas: extensiones de funcion como length, rutas absolutas dentro de un filtro y comparaciones entre dos rutas. La busqueda recorre el flujo de tokens, asi que cada resultado lleva su ruta, su linea y el valor tal como lo escribiste.
Como se usa
- Pega tu JSON en el editor, o carga el ejemplo.
- Escribe una consulta, o pulsa uno de los ejemplos. Los resultados se actualizan en cuanto dejas de escribir.
- Selecciona una coincidencia para resaltarla en el editor, y mira el recuento de arriba para confirmar que la consulta hizo lo que querias.
Sintaxis admitida
| $ | Todo el documento |
| $.store.book | Un hijo por nombre |
| $['a name'] | Un nombre con espacios o signos de puntuacion |
| $.store.* | Todos los hijos de un valor |
| $.book[0], $.book[-1] | Un elemento por posicion, contando desde el final con un menos |
| $.book[1:4], $.book[::2] | Un rango de elementos, con paso opcional |
| $.book[0, 2], $['a', 'b'] | Varios selectores a la vez |
| $..price | El mismo selector a cualquier profundidad |
| $.book[?@.price < 10] | Solo los valores que pasan una prueba |
| $.book[?@.isbn] | Solo los valores que tienen una clave dada |