json Mule-将键和值Map到新键和值

7d7tgy0s  于 2023-02-14  发布在  其他
关注(0)|答案(1)|浏览(128)

我需要从json中提取键和值以形成不同的json输出
输入Json

{"somekey":"xyz",
"properties":{
"key1":"value1",
"key2":"value2"
.....
}

预期输出Json

{"somekey":"xyz",
"properties":{
"mainkey1": "value1"
"mainkey2": "value2"
....
}
}

我需要添加“main”到现有的键并读取所有的键。考虑到属性中有n个键值对。如何用dwl脚本完成这一步?
我试着用payload mapMap对象并手动写入整个键。当新的键值对被添加时,我不得不手动写入每个键到Map中。

rsl1atfo

rsl1atfo1#

你可以使用更新操作符来更新父对象。更新将保留现有的键并且只更新 prop 对象。要连接属性键,可以使用mapObject。

%dw 2.0
output application/json
---
payload update {
    case props at .properties -> props mapObject ((value, key) -> {
        ("main" ++ (key as String)): value
    })
}

相关问题