You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

技术请求:使用Mule DataWeave 2.0实现JSON数组合并与格式转换

DataWeave 2.0 转换方案:提取嵌套对象并扁平化数组

嗨,我来帮你搞定这个转换需求!你的问题核心是把外层数组中每个对象里的data1、data2这些嵌套对象提取出来,合并成一个一维数组。这里有两种简洁的实现方式:

方法一:使用 map + pluck + flatten

%dw 2.0
output application/json
---
flatten(payload map ($ pluck $))

步骤解释:

  1. $ pluck $:对数组中的每个外层对象,pluck会提取该对象所有属性的值(也就是data1和data2对应的对象),每个外层对象会被转换成包含两个元素的数组。
  2. payload map (...):遍历整个输入数组,把每个外层对象都转换成上述的二元数组,此时结果是一个二维数组。
  3. flatten(...):把二维数组扁平化,将所有子数组合并成一个一维数组,得到你想要的输出。

方法二:使用 flatMap + pluck(更简洁)

%dw 2.0
output application/json
---
payload flatMap ($ pluck $)

步骤解释:

flatMap相当于map + flatten的组合操作:它会遍历输入数组的每个元素,对每个元素执行$ pluck $得到一个子数组,然后自动将所有子数组的元素展开合并成最终的一维数组,省去了单独调用flatten的步骤。

两种方法都能生成你期望的输出:

[ { "role": "analyst", "name": "ABC" }, { "role": "analyst", "name": "DEF" }, { "role": "RM", "name": "PQRS" }, { "role": "analyst", "name": "QWE" } ]

内容的提问来源于stack exchange,提问作者Mohit Mehrotra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 07:25:27