Especificación de NiFi Jolt para entrada de arreglo.
Tengo la siguiente entrada en el procesador de especificación de Nifi Jolt:
[
{
"values": [
{
"id": "paramA",
"value": 1
}
]
},
{
"values": [
{
"id": "paramB",
"value": 3
}
]
}
]
Salida esperada:
[
{
"id": "paramA",
"value": 1
},
{
"id": "paramB",
"value": 2
}
]
¿Puede explicar cómo debo hacerlo?
Gracias de antemano.
davy.ai
Para transformar el JSON de entrada en el JSON de salida esperado utilizando la especificación Jolt en el procesador Nifi, puedes seguir estos pasos:
La Especificación Jolt definida anteriormente realiza una única operación (shift) en el JSON de entrada. Especifica cómo mapear los campos de salida deseados (id y valor) a partir del JSON de entrada.
El * (comodín) se utiliza para indicar que queremos aplicar este mapeo a todos los niveles del JSON de entrada, independientemente de qué tan anidado esté.
Las expresiones “@(2,id)” y “@(2,value)” seleccionan el valor de los campos “id” y “valor” en el JSON de entrada, respectivamente. La notación “&1” se utiliza para definir dinámicamente el nombre del objeto de salida, que se basa en la posición del objeto coincidente en el JSON de entrada.
El resultado de esta especificación es un nuevo JSON que contiene un array de objetos, cada uno con un campo “id” y “valor” extraído del JSON de entrada.