1

我正在使用“retrieve all”对象存储组件,我得到了一个这样的 java 有效负载:

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

这是一个带有条目的 LinkedHashMap。

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

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

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

输入:原始 LinkedHashMap 有效负载

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

输出:带有 LinkedHashMap 的数组

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

是否有另一种方法可以将 LinkedHashMap 条目放入数组中的对象中?

4

1 回答 1

2

应该进一步研究 DW 文档的这一领域

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

顺便说一句,当我通过 Foreach 范围运行原始有效负载(这就是我需要一个对象数组的原因)以查看错误时,它也会生成建议使用该entrySet函数的错误消息。为此向 dw 和工作室工程师致敬。

于 2019-09-09T16:34:50.567 回答