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

如何用DWL脚本批量为JSON中properties的键添加前缀main?

DataWeave 动态处理对象键的解决方案

要实现自动为properties内的所有键添加"main"前缀,同时保留somekey字段,无需手动逐个映射,可以用DataWeave的mapObject函数实现动态遍历处理。

完整脚本

%dw 2.0
output application/json
---
{
    somekey: payload.somekey
} ++ (payload.properties mapObject ((value, key) -> {
    ("main" ++ key): value
}))

脚本说明

  1. 保留原有字段:直接提取payload.somekey字段,保留其原始值。
  2. 动态遍历处理:用mapObject遍历payload.properties中的每一组键值对:
    • ("main" ++ key):将原键名与"main"前缀拼接,生成新的键名
    • value:保留原键对应的数值
  3. 合并结果:用++运算符将原始somekey对象和处理后的键值对合并成最终的JSON结构。

输入输出示例

输入JSON

{
    "somekey": "sampleData",
    "properties": {
        "id": 1001,
        "status": "active",
        "category": "premium"
    }
}

输出JSON

{
    "somekey": "sampleData",
    "mainid": 1001,
    "mainstatus": "active",
    "maincategory": "premium"
}

这种方式完全不需要手动枚举properties内的键,后续新增任何键都会被自动处理,彻底解决了手动映射需要重复修改脚本的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 15:05:43