将具有链接的Hashmap条目的Java链接的Hashmap转换为对象数组

时间:2019-09-09 15:32:20

标签: dataweave mule4

我正在使用“全部检索”对象存储组件,并且返回了如下所示的Java有效负载:

{
  {
    target: "test-app-387562893"
  }
}

是带有条目的LinkedHashMap。

我需要将其转换为对象数组,即

[
  {
    target: "test-app-387562893"
  }
]

我尝试使用pluck将条目映射到数组中。

输入:Original LinkedHashMap payload

%dw 2.0
output application/java
---
payload pluck (value,key) -> { 
  (key): value
}

输出:Array with LinkedHashMap

但是,这只是将整个LinkedHashMap添加为数组中的一项。

还有另一种方法可以将LinkedHashMap条目获取到数组对象中吗?

1 个答案:

答案 0 :(得分:2)

应该深入研究DW文档的this area

看起来像dw::core::Objects::entrySet(payload)会将其转换为对象数组。

偶然地,当我在Foreach范围内运行原始有效负载(这就是为什么我需要一个对象数组)以查看错误时,它也会生成使用entrySet函数推荐的错误消息。 dw和工作室工程师对此表示敬意。