Banco de Consultas
Escribe una consulta JSONPath o JMESPath, elige el lenguaje que querias, y ve exactamente que calcula.
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.
Resultado
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.
El resultado aparece 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
JSONPath y JMESPath responden preguntas distintas, asi que esta herramienta nunca adivina en cual de los dos esta escrita una consulta, el interruptor sobre el cuadro de consulta elige el lenguaje. JSONPath encuentra ubicaciones dentro de un documento: cada coincidencia conserva la forma que ya tenia. JMESPath en cambio calcula un valor nuevo: una tuberia, una multi-seleccion o una llamada a funcion pueden reorganizar los datos en algo que el documento nunca contuvo literalmente, una lista con solo los campos que pediste, un unico numero, un documento ordenado por un campo que solo aparece enterrado tres niveles mas abajo. Esta pagina implementa todo el lenguaje JMESPath 1.0, incluida cada funcion de su biblioteca estandar, listada mas abajo. No implementa expresiones JSONata ni al estilo jq, ambos lenguajes bastante mas grandes por si mismos, y lo dice en vez de recurrir en silencio a otra cosa. El modo JSONPath reutiliza el mismo motor que el Probador de JSONPath dedicado de este sitio; usa esa herramienta en su lugar cuando quieras hacer clic en una coincidencia y verla resaltada dentro de tu documento, ya que esta pagina siempre imprime un resultado calculado en vez de una lista navegable de ubicaciones.
Como se usa
- Pega tu JSON en el editor, o carga el ejemplo.
- Elige JSONPath o JMESPath, y luego escribe una consulta o pulsa uno de los ejemplos.
- Lee el resultado a la derecha. Una consulta JMESPath calcula un valor nuevo; una consulta JSONPath lista cada coincidencia.
Funciones de JMESPath
Toda la biblioteca estandar, las mismas 25 funciones que define la especificacion.
| abs(number) | Valor absoluto. |
| avg(array) | Promedio de los numeros, null si esta vacio. |
| ceil(number) | Redondea hacia arriba. |
| contains(subject, value) | True si la cadena o el arreglo lo contiene. |
| ends_with(string, suffix) | True si la cadena termina con eso. |
| floor(number) | Redondea hacia abajo. |
| join(glue, array) | Une cadenas con un separador. |
| keys(object) | Las claves propias del objeto. |
| length(value) | Cuenta de caracteres, elementos o claves. |
| map(&expr, array) | Aplica una expresion a cada elemento. |
| max(array) | El valor mas grande, null si esta vacio. |
| max_by(array, &expr) | El elemento con el valor calculado mas grande. |
| merge(object, ...) | Combina objetos de forma superficial, de izquierda a derecha. |
| min(array) | El valor mas pequeno, null si esta vacio. |
| min_by(array, &expr) | El elemento con el valor calculado mas pequeno. |
| not_null(value, ...) | El primer argumento que no es null. |
| reverse(value) | Invierte una cadena o un arreglo. |
| sort(array) | Ordena numeros o cadenas, ascendente. |
| sort_by(array, &expr) | Ordena por un valor calculado, de forma estable. |
| starts_with(string, prefix) | True si la cadena empieza con eso. |
| sum(array) | Suma los numeros. |
| to_array(value) | Envuelve un no-arreglo en uno, mantiene un arreglo como está. |
| to_string(value) | El valor como cadena. |
| to_number(value) | El valor como número, nulo si no se puede leer como tal. |
| type(value) | El nombre de tipo de JMESPath. |
| values(object) | Los valores propios del objeto. |
Necesitas la tabla completa de sintaxis JSONPath, o quieres hacer clic en una coincidencia para verla resaltada en tu documento? Usa el Probador de JSONPath dedicado en su lugar.