Je ne sais pas comment vous obtenez les deux charges utiles en même temps
Mais si vous êtes en mesure d'obtenir la charge utile et capable d'enregistrer en 2 variables de flux , alors vous pouvez utiliser un Transformateur d'expression pour construire votre charge utile combinée.
Voici un exemple que vous pouvez essayer de combiner à la fois la charge utile dynamique: -
<set-payload value="{
"first": [{
"projectid": "15",
"approval_status": "A"
}, {
"projectid": "24",
"approval_status": "A"
}]
}" mimeType="application/json" doc:name="Set Payload"/>
<json:json-to-object-transformer returnClass="java.util.HashMap" doc:name="JSON to Object"/>
<set-variable variableName="var1" value="#[message.payload]" doc:name="Variable"/>
<set-payload value="{
"Second": [{
"projectid": "15",
"total": "123",
"updated": "yes"
}, {
"projectid": "24",
"total": "123",
"updated": "yes"
}]
}" mimeType="application/json" doc:name="Set Payload"/>
<json:json-to-object-transformer returnClass="java.util.HashMap" doc:name="JSON to Object"/>
<set-variable variableName="var2" value="#[message.payload]" doc:name="Variable"/>
<expression-transformer
expression="#[[
'Result':[
{
'projectid': flowVars.var1.first[0].projectid,
'total': flowVars.var2.Second[0].total,
'approval_status': flowVars.var1.first[0].approval_status
},
{
'projectid': flowVars.var1.first[1].projectid,
'total': flowVars.var2.Second[1].total,
'approval_status': flowVars.var1.first[1].approval_status
}
]]
]" doc:name="Expression"/>
<json:object-to-json-transformer doc:name="Object to JSON"/>
S'il vous plaît noter, l'exemple ci-dessus est juste pour montrer comment vous pouvez combiner la charge utile dynamiquement et rapidement.
Ici, vous devez stocker la charge utile dans une variable flux var1 et var2, (I have used set payload just to demonstrate, you need to get it dynamically
), vous pouvez construire la charge utile dynamiquement à l'aide du transformateur d'expression
Notez également, si vous obtenez le JSON charge utile dans la même structure, vous pouvez utiliser le code ci-dessus pour une combinaison rapide de charges utiles ...
Mais, si votre structure json change un élément de liste supplémentaire inclus dans votre charge, alors vous devez modifier le code ci-dessus et utilisez une boucle for pour obtenir les valeurs.
Le code ci-dessus produira une charge utile combinée rapide comme suit: -
{
"Result": [
{
"total": "123",
"projectid": "15",
"approval_status": "A"
},
{
"total": "123",
"projectid": "24",
"approval_status": "A"
}
]
}
L'entrée et la sortie doivent être mappé basé sur la clé et il sera dynamique. –
J'ai édité ma réponse ... Pouvez-vous essayer avec ça. Il faudra maintenant prendre des identifiants dynamiques et les filtrer en fonction de ceux-ci. – srbhvatsa