Mulesoft Dataweave 将对象映射到数组

Mulesoft Dataweave map object to array

在 Mulesoft Dataweave 中,我想将一个对象映射到一个数组。

输入:

[
  {
     "id": 12, "name": "sun", "age": 25
  },
  {
     "id": 13, "name": "moon", "age": 25
  },
  {
     "id": 14, "name": "pluto", "age": 28
  },
  ..... etc.
]

结果必须是这样的:
[12,13,14]

我已经用地图试过了,但没有用,因为我似乎只能使用 json 个对象。

我该如何解决这个问题?

我们甚至不需要映射:

输入:

[
  {
     "id": 12, "name": "sun", "age": 25
  },
  {
     "id": 13, "name": "moon", "age": 25
  },
  {
     "id": 14, "name": "pluto", "age": 28
  }
]

数据编织:

%dw 2.0
output application/json
---
payload.id

如果你想映射,你可以简单地做:

payload map $.id

payload map (item) -> item.id

payload map (item) -> (item.id)

map(payload, (item) -> item.id))

所有这些都会给你相同的结果

如果您尝试:payload map { ...,您会因为 {.

而返回一个对象

输出:

[
  12,
  13,
  14
]