Criando uma Expressão JSONPath
A condição informa o caminho que o fluxo de integração deve seguir quando a informação ali descrita aparece no body do payload de solicitação/resposta do step anterior ao Choice V2.
Para definir a condição, você deverá usar uma expressão JSONPath.
| JSONPath é uma linguagem de consulta para JSON que permite selecionar e extrair dados de um documento JSON. Você usa uma expressão JSONPath para percorrer o caminho até um elemento ou um conjunto de elementos na estrutura JSON. |
Na imagem abaixo, a condição descrita para WHEN indica que se o elemento "cidade" for igual a "São Paulo", o fluxo deve seguir por esse caminho. Caso a informação seja diferente disso, o fluxo seguirá por outro caminho definido em outra condição WHEN ou OTHERWISE.
Agora imagine que você tem o payload de resposta de um step anterior com a seguinte informação:
{
"city": "São Paulo"
}
Assim, como o payload tem a informação do elemento cidade igual a São Paulo, o fluxo seguirá o caminho indicado na condição WHEN, como visto na imagem.
Regras de sintaxe do JSONPath
Para você entender melhor a composição de uma condição, vamos ver as principais regras de sintaxe de expressões JSONPath:
-
O símbolo "$" refere-se ao objeto ou elemento raiz.
-
O símbolo "@" refere-se ao objeto ou elemento atual.
-
O operador "." é usado para denotar um elemento filho do elemento atual.
-
"[ ]" é usado para denotar um elemento filho do elemento atual (por nome ou índice).
-
O operador "*" é um caractere curinga, retornando todos os objetos ou elementos independentemente de seus nomes.
-
O operador "," é o operador de união, que retorna a união dos filhos ou índices indicados.
-
O operador ":" é o operador para selecionar partes de arrays. Assim, ele retorna uma subcoleção de uma coleção.
-
"? ( )" é usado para filtrar todos os itens que atendem a um determinado critério.
Exemplos de uso
Agora veja exemplos de expressões, tendo como base a estrutura JSON abaixo:
| Estrutura modificada e 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 | Expressão | Significado |
|---|---|---|
|
|
retorna os livros da categoria ficção. |
|
|
retorna os livros cujo autor não é J. R. R. Tolkien. |
|
|
retorna os livros lançados depois de 1980. |
|
|
retorna os livros lançados em ou após o ano 2000. |
|
|
retorna os livros com preço menor que 10. |
|
|
retorna os livros com preço menor ou igual a 15. |
|
|
retorna os livros que pertencem à categoria que se inicia com "fic". |
|
|
retorna os livros que não têm número isbn. |
|
|
retorna os livros da categoria ficção e com preço menor que 10. |
|
|
retorna os livros da categoria ficção ou com preço menor que 10. |
|
|
retorna os filmes que estejam na categoria documentário. |
|
|
retorna os filmes que estejam fora da categoria fantasy. |
|
|
retorna os filmes de fantasia, caso fantasia seja um subconjunto das categorias de filmes. |
|
|
retorna o título "Moby Dick", caso exista dentre os títulos disponíveis. |
|
|
retorna os títulos de livros que tenham 9 caracteres, incluindo espaços. |
|
|
retorna os livros que tenham o isbn como um valor vazio. |
|
|
retorna os livros que tenham o isbn como um valor não-vazio. |
Share your suggestions with us!
Click here and then [+ Submit idea]
