Saltar al contenido principal

Consulta JSON v.2

Configuración actual de la tarea JSONPath Query v.2 en el Diseñador de Flujos de Trabajo
  • Tipo de tarea: jsonpath-query_v2

Descripción

La tarea "Consulta JSON v.2" permite consultar un conjunto de datos JSON y extraer múltiples valores simultáneamente utilizando la sintaxis JSONPath. Cada extracción se mapea a un nombre de parámetro personalizado, haciendo que los datos estén disponibles inmediatamente para las tareas posteriores en el flujo de trabajo.

Parámetros de Configuración

  • JSON de origen: El contenido JSON en el que se ejecutará la consulta. Normalmente se utiliza un parámetro dinámico proveniente de una tarea anterior (ej. #>Chiamata REST.response<#).
  • Expresiones (Consultas): En esta sección se puede definir una o más consultas. Para cada fila:
  • Nombre de Parámetro: El nombre que se asignará al parámetro de salida (ej. userId).
  • Expresión JSONPath: La sintaxis para extraer el dato (ej. $.userId o $.items[*].id).

Nota: Si la consulta devuelve múltiples resultados, el parámetro contendrá un array de valores.

Ejemplos Prácticos de Consulta JSONPath

Consideremos el siguiente Conjunto de Datos JSON de origen:

{
"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 el conjunto de datos de usuarios como fuente, aquí hay cómo configurar las expresiones para extraer datos específicos:

Nombre de ParámetroExpresión JSONPathResultado (Salida)Descripción
all_names$.users[*].name["Luca", "Giulia", "Marco"]Extrae todos los nombres presentes en el array.
first_name$.users[0].name"Luca"Extrae el nombre del primer elemento (índice 0).
name_by_id$.users[?(@.id == 2)].name"Giulia"Filtra el array y devuelve el nombre del usuario con ID igual a 2.

Configuración en la Tarea

Dentro de la pestaña Configuración, las expresiones se mapearán de la siguiente manera:

"expressions": {
"all_names": "$.users[*].name",
"first_name": "$.users[0].name",
"name_by_id": "$.users[?(@.id == 2)].name"
}

Parámetros de Salida

La tarea genera dinámicamente los parámetros basados en los nombres definidos en la tabla "Expresiones", además de los parámetros estándar de control:

  • [Nombre Personalizado]: Devuelve el valor (o el array de valores) extraído de la consulta JSONPath asociada (ej. title, userId).
  • result: Mensaje informativo sobre el resultado de la extracción (ej: Expresiones extraídas con éxito).
  • exitStatus: Código de estado de la operación (0 indica éxito).
  • resultJson: Representa el resultado completo de la ejecución de la tarea en formato JSON.

Ejemplo resultJson

{
"run_info": {
"status": "Completed",
"run_result": "Success"
},
"output_parameters": {
"exitStatus": "0"
}
}