Saltar al contenido principal

Consulta JSONPath

Configuración actual de la tarea JSONPath Query en el Diseñador de Flujos de Trabajo

La tarea Consulta JSONPath permite ejecutar consultas sobre datos JSON utilizando expresiones JSONPath. Esto es útil para extraer información específica de estructuras JSON complejas.

Definición de Consulta JSONPath

Una Consulta JSONPath es una expresión que permite identificar y extraer datos de una estructura JSON navegando sus elementos de forma jerárquica. Utiliza una sintaxis similar a las rutas de archivo para referirse a propiedades, objetos anidados y arrays, permitiendo seleccionar valores específicos, colecciones de elementos o porciones estructuradas del documento JSON.

Configuración

JSON: JSON de entrada, proporcionado directamente como texto o a través de un parámetro dinámico (por ejemplo, la salida DataExportJson de la tarea Base de Datos), no como una ruta de un archivo, sino como el contenido JSON directo

Ejemplo de expresión JSONPath :

$.value[?(@.name=='wmr')].type

Estructura de la Consulta

  • $: Representa la raíz del documento JSON.
  • .value: Selecciona el elemento value directamente debajo de la raíz.
  • [?(@.name=='wmr')]: Filtra los elementos del array value para incluir solo aquellos en los que el atributo name sea igual a 'wmr'.
  • .type: Selecciona el atributo type de los elementos filtrados.

Ejemplo de Documento JSON

Asumiendo que tenemos el siguiente documento JSON:

{
"value": [
{
"name": "wmr",
"type": "exampleType1"
},
{
"name": "otherName",
"type": "exampleType2"
}
]
}

Resultado de la Consulta

La consulta $.value[?(@.name=='wmr')].type seleccionará el valor del atributo type para el elemento en el que name sea 'wmr'. En nuestro ejemplo, el resultado será:

[
"exampleType1"
]

Parámetro de Salida

Al completar la ejecución, la tarea hace disponibles los siguientes Parámetros de Salida, utilizables como entrada en las tareas siguientes del Flujo de Trabajo.

  • result: Este parámetro puede contener un mensaje de error o el resultado de la consulta.
  • resultJson: Representa el resultado de la ejecución de la tarea en formato JSON, incluyendo información general, configuraciones y detalles sobre la ejecución.