Mule (Dataweave) transforma un array JSON en un objeto.
Cómo escribir dataweave para la entrada y salida dada:
Entrada:
[
"abcd",
"efgh"
]
Salida:
{
"abcd": {
"nombre": "xyz",
"apellido": "pqr"
},
"efgh": {
"nombre": "klm",
"apellido": "nop"
}
}
davy.ai
Para escribir DataWeave para la entrada y salida dadas, se puede utilizar el siguiente código:
En el código anterior,
%dw 2.0
declara la versión de DataWeave que se está utilizando.output application/json
especifica que la salida será en formato JSON.La función
payload map
se utiliza para recorrer cada elemento en el array de entrada. Para cada elemento, la expresión($):
crea un nuevo objeto con la clave siendo el elemento actual en el bucle.Luego, utilizando la expresión
when
, se agregan los valores correspondientes parafirstname
ylastname
basados en el valor de la clave. Por ejemplo, cuando el elemento actual es"abcd"
, los valores parafirstname
ylastname
serán"xyz"
y"pqr"
respectivamente.Finalmente, el símbolo
---
se utiliza para separar las expresiones de entrada y salida.La salida resultante coincidirá con la salida deseada especificada en la pregunta.