Consulta JSONPath v.2
- Tipo de Tarefa: jsonpath-query_v2
Descrição
A tarefa "Consulta JSONPath v.2" permite consultar um conjunto de dados JSON e extrair vários valores simultaneamente usando a sintaxe JSONPath. Cada extração é mapeada para um nome de parâmetro personalizado, tornando os dados imediatamente disponíveis para as tarefas subsequentes no fluxo de trabalho.
Parâmetros de Configuração
- JSON de Origem: o conteúdo JSON sobre o qual a consulta será executada. Geralmente, utiliza-se um parâmetro dinâmico proveniente de uma tarefa anterior (ex:
#>Chiamata REST.response<#). - Expressões (Queries): Nesta secção, é possível definir uma ou mais consultas. Para cada linha:
- Nome do Parâmetro: o nome que será atribuído ao parâmetro de saída (ex:
userId). - Expressão JSONPath: a sintaxe para extrair o dado (ex:
$.userIdou$.items[*].id).
Nota: Se a consulta retornar múltiplos resultados, o parâmetro conterá um array de valores.
Exemplos Práticos de Consulta JSONPath
Consideremos o seguinte Conjunto de Dados JSON de origem:
{
"users": [
{
"id": 1,
"name": "Luca",
"age": 25,
"city": "Roma",
"orders": [
{
"id": 101,
"total": 50
},
{
"id": 102,
"total": 120
}
]
},
{
"id": 2,
"name": "Giulia",
"age": 30,
"city": "Milano",
"orders": [
{
"id": 103,
"total": 200
}
]
},
{
"id": 3,
"name": "Marco",
"age": 22,
"city": "Roma",
"orders": [
{
"id": 104,
"total": 80
},
{
"id": 105,
"total": 40
}
]
}
]
}
Utilizando o conjunto de dados de utilizadores como fonte, veja como configurar as expressões para extrair dados específicos:
| Nome do Parâmetro | Expressão JSONPath | Resultado (Output) | Descrição |
|---|---|---|---|
| all_names | $.users[*].name | ["Luca", "Giulia", "Marco"] | Extrai todos os nomes presentes no array. |
| first_name | $.users[0].name | "Luca" | Extrai o nome do primeiro elemento (índice 0). |
| name_by_id | $.users[?(@.id == 2)].name | "Giulia" | Filtra o array e retorna o nome do utilizador com ID igual a 2. |
Configuração na Tarefa
Dentro da aba Configuração, as expressões serão mapeadas da seguinte forma:
"expressions": {
"all_names": "$.users[*].name",
"first_name": "$.users[0].name",
"name_by_id": "$.users[?(@.id == 2)].name"
}
Parâmetros de Saída
A tarefa gera dinamicamente os parâmetros com base nos nomes definidos na tabela "Expressões", além dos parâmetros de controlo padrão:
- [Nome Personalizado]: retorna o valor (ou o array de valores) extraído da consulta JSONPath associada (ex:
title,userId). - result: mensagem informativa sobre o resultado da extração (ex: Expressões extraídas com sucesso).
- exitStatus: código de estado da operação (0 indica sucesso).
- resultJson: representa o resultado completo da execução da tarefa em formato JSON.
Exemplo resultJson
{
"run_info": {
"status": "Completed",
"run_result": "Success"
},
"output_parameters": {
"exitStatus": "0"
}
}