我不确定你如何同时获得两个有效载荷
但是,如果您能够同时获得有效负载并能够保存到 2 个流变量中,那么您可以使用表达式转换器来构建您的组合有效负载。
下面是一个示例,您可以尝试动态组合有效负载:-
<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"/>
请注意,上面的示例只是为了展示如何动态快速地组合有效负载。
在这里,您需要将有效负载都存储在流变量var1和var2 ( )I have used set payload just to demonstrate, you need to get it dynamically
中,然后您可以使用表达式转换器动态构造有效负载
另请注意,如果您以完全相同的结构获取 json 有效负载,您可以使用上面的代码用于快速组合有效负载...
但是,如果您的 json 结构发生更改,表明您的有效负载中还包含一个列表元素,那么您需要修改上面的代码并使用 for 循环来获取值。
上面的代码将产生一个快速组合的有效载荷,如下所示:-
{
"Result": [
{
"total": "123",
"projectid": "15",
"approval_status": "A"
},
{
"total": "123",
"projectid": "24",
"approval_status": "A"
}
]
}