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. |
(operador lógico OU) |
|
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]