我将两个不同的有效负载合并为一个有效负载

时间:2014-09-16 12:08:57

标签: json mule aggregation

我在这里有两种不同的有效载荷:

{"addressLine1":"POSBUS 007","addressLine3":"-1","postalCode":"1200"}
{"email":"xxxx@xxx.net"}. 

如果我使用散布集合,我会得到以下有效负载:

[{"addressLine1":"POSBUS 007","addressLine3":"-1","postalCode":"1200"}, {"email":"xxxx@xxx.net"}]

但我想要做的是将这两个有效负载合并到一个有效负载中,例如:

  {"addressLine1":"POSBUS 007","addressLine3":"-1","postalCode":"1200", "email":"xxxx@xxx.net"}

1 个答案:

答案 0 :(得分:1)

有几种好方法可以解决这个问题。这是一个使用groovy:

  1. 在分散 - 聚集的每个路径中,添加<json:json-to-object-transformer returnClass="java.util.HashMap" />以将JSON有效负载转换为地图。
  2. 在分散 - 聚集之后,添加以下内容以将地图列表转换为单个地图:<set-payload value="#[groovy:payload.inject([:]) {result, part -> result.putAll(part); result}]" />