Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Mule ESB两个JSON数组,使用Dataweave将一个数组合并到另一个数组中_Java_Mule_Esb_Dataweave - Fatal编程技术网

Java Mule ESB两个JSON数组,使用Dataweave将一个数组合并到另一个数组中

Java Mule ESB两个JSON数组,使用Dataweave将一个数组合并到另一个数组中,java,mule,esb,dataweave,Java,Mule,Esb,Dataweave,我使用的是Mule ESB,需要使用JSON1中的ItemID和JSON2中的qty,然后创建一个新的JSON负载 以下是JSON 1: [{ "itemid": "160544", "sku": "L45-075-14", "qty": "1.0000" }, { "itemid": "160545", "sku": "063-0159-881", "qty": "1.0000" }] 以下是JSON 2: [{ "sku": "603-0159-881",

我使用的是Mule ESB,需要使用JSON1中的ItemID和JSON2中的qty,然后创建一个新的JSON负载

以下是JSON 1:

[{
  "itemid": "160544",
  "sku": "L45-075-14",
  "qty": "1.0000"
  }, { 
  "itemid": "160545",
  "sku": "063-0159-881",
  "qty": "1.0000"
}]
以下是JSON 2:

[{
  "sku": "603-0159-881",
  "qty": "4.0000"
  }, {
  "sku": "L45-075-14",
  "qty": "5.0000"
}]
这是我的数据编织代码:

 %dw 1.0
 %output application/java
 ---
 flowVars.SSRGetOrderItems map (action, index) -> {
                                    (action.itemid) : action.qty,
                                    (flowVars.SSRCreateStarshipItems filter $.sku == action.sku)
                                }
我不需要最终Java列表中的SKU,我只需要加入SKU键的itemid和qty。(见下文所需输出)

期望输出:

 [{"160544"-"5.0000"}, {"160545"-"4.0000"}]

为了获得更好的性能,应该使用Hashmap查找而不是过滤器。假设输出
[{“160544”:“5.0000”},{“160545”:“4.0000”}]


希望这能有所帮助。

为了获得更好的性能,您应该使用Hashmap查找而不是过滤器。假设输出
[{“160544”:“5.0000”},{“160545”:“4.0000”}]

希望这有帮助

%dw 1.0
%output application/java
%var skuLookup =  flowVars.SSRCreateStarshipItems groupBy $.sku
---
flowVars.SSRGetOrderItems map {
    ($.itemid) : skuLookup[$.sku][0].qty
}
%dw 1.0
%output application/java
%var skuLookup = {(flowVars.SSRCreateStarshipItems map {
    ($.sku) : $.qty
})}
---
flowVars.SSRGetOrderItems map {
    ($.itemid) : skuLookup[$.sku]
}