【问题标题】:Mulesoft Dataweave map object to arrayMulesoft Dataweave 将对象映射到数组
【发布时间】:2021-04-09 20:55:30
【问题描述】:

在 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 对象有关。

我该如何解决这个问题?

【问题讨论】:

  • 我建议您使用有效的 JSON 编辑您的问题 - 密钥必须用引号括起来。

标签: dataweave mulesoft


【解决方案1】:

我们甚至不需要映射:

输入:

[
  {
     "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
]

【讨论】:

  • 谢谢迈克尔,这正是我需要的!
猜你喜欢
  • 1970-01-01
  • 2017-12-23
  • 1970-01-01
  • 2022-11-24
  • 1970-01-01
  • 2022-11-28
  • 2021-04-18
  • 2020-11-09
  • 2016-05-31
相关资源
最近更新 更多