Creando una Expresión JSONPath
La condición indica el camino que debe seguir el flujo de integración cuando la condición descrita aparece en el body del payload de solicitud/respuesta del step anterior al Choice V2.
Para definir la condición, debe utilizar una expresión JSONPath.
JSONPath es un lenguaje de consulta para JSON que permite seleccionar y extraer datos de un documento JSON. Utilice una expresión JSONPath para recorrer el camino hasta un elemento o un conjunto de elementos en la estructura JSON. |
En la imagen a continuación, la condición descrita para WHEN indica que si el elemento "ciudad" es igual a "São Paulo", el flujo debe seguir por este camino. Si la información es diferente, el flujo seguirá por otro camino definido en otra condición WHEN o OTHERWISE.
Ahora, imagine que tiene el payload de respuesta de un step anterior con la información siguiente:
{ "city": "São Paulo" }
Así, como el payload tiene la información del elemento de ciudad igual a São Paulo, el flujo seguirá el camino indicado en la condición WHEN, como vimos en la imagen.
Reglas de sintaxis JSONPath
Para entender mejor la composición de una condición, veamos las principales reglas de sintaxis de las expresiones JSONPath:
-
El símbolo "$" se refiere al objeto o elemento raíz.
-
El símbolo "@" se refiere al objeto o elemento actual.
-
El operador "." se usa para denotar un elemento hijo del elemento actual.
-
"[ ]" es utilizado para denotar un elemento hijo del elemento actual (por nombre o índice).
-
El operador "*" es un carácter comodín, devolviendo todos los objetos o elementos independientemente de sus nombres.
-
El operador "," es el operador de unión, que devuelve la unión de los hijos o índices indicados.
-
El operador ":" es el operador para seleccionar partes de arrays. Así, devuelve una subcolección de una colección.
-
"? ( )" se utiliza para filtrar todos los elementos que cumplen con un criterio específico.
Ejemplos de uso
Ahora vea ejemplos de expresiones, basados en la estructura JSON a continuación:
Estructura modificada y ampliada de Stefan Goessner. |
{ "store": { "book": [ { "category": "non-fiction", "author": "Jane Glover", "title": "Mozart in Italy", "price": 8.95, "year": 2023 }, { "category": "fiction", "author": "Herman Melville", "title": "Moby Dick", "isbn": "0-553-21311-3", "price": 8.99, "year": 1851 }, { "category": "fiction", "author": "J. R. R. Tolkien", "title": "The Lord of the Rings", "isbn": "0-395-19395-8", "price": 22.99, "year": 1954 } ], "movie": [ { "category": "TV series", "author": "David Crane and Marta Kauffman", "title": "Friends season 1", "price": 50, "year": 1995 }, { "category": "documentary", "author": "Craig Mazin", "title": "Chernobyl", "price": 35, "year": 2019 }, { "category": "fantasy", "author": "J. R. R. Tolkien", "title": "The Lord of the Rings", "price": 40, "year": 2001 } ] } }
Operadores | Expresión | Significado |
---|---|---|
|
|
devuelve los libros de la categoría de ficción. |
|
|
devuelve los libros cuyo autor no es J. R. R. Tolkien. |
|
|
devuelve los libros publicados después de 1980. |
|
|
devuelve los libros publicados en o después del año 2000. |
|
|
devuelve los libros con un precio inferior a 10. |
|
|
devuelve los libros con un precio menor o igual a 15. |
|
|
devuelve los libros que pertenecen a la categoría que comienza con "fic". |
|
|
devuelve los libros que no tienen número isbn. |
|
|
devuelve los libros en la categoría de ficción y con un precio inferior a 10. |
(operador lógico O) |
|
devuelve los libros en la categoría de ficción o con un precio inferior a 10. |
|
|
devuelve las películas que están en la categoría documental. |
|
|
devuelve las películas que están fuera de la categoría de fantasía. |
|
|
devuelve las películas de fantasía, si fantasia es un subconjunto de las categorías de películas. |
|
|
devuelve el título "Moby Dick", si existe entre los títulos disponibles. |
|
|
devuelve los títulos de libros que tienen 9 caracteres, espacios incluidos. |
|
|
devuelve los libros que tienen isbn como valor vacío. |
|
|
devuelve los libros que tienen isbn como valor no vacío. |
Share your suggestions with us!
Click here and then [+ Submit idea]