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

DW 2.0中基于对象值匹配另一对象键合并两个对象的方案咨询

DataWeave 2.0 模板对象映射填充解决方案

直接使用mapObject结合动态取值即可实现你要的逻辑,核心代码如下:

%dw 2.0
output application/json
---
// vars.template 对应你存储的模板对象A
vars.template mapObject ((templateValue, templateKey) -> {
    (templateKey): payload[templateValue] default ""
})

逻辑说明

  • 遍历模板对象的所有键值对,始终保留模板的原始键作为输出对象的键
  • 以模板每个键对应的值作为索引,到payload中查找对应的值
  • 未匹配到值时用default指定默认返回值,需要返回null时直接替换""为null即可

用你给出的示例输入运行上述代码,将直接得到你期望的输出结果。

实用建议

  • 如果模板是嵌套结构,可以封装递归函数处理多层级的映射逻辑
  • 需要对匹配到的值做格式化处理时,可在payload[templateValue]后追加转换逻辑,例如payload[templateValue] as String default ""
  • 如需排除模板中的指定字段,可在mapObject后追加filter操作过滤不需要的键

内容的提问来源于stack exchange,提问作者Shawn.Y

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 02:09:03