在我的 Mule 4 流中,我得到一个类似于以下内容的JSON数组:
[
{
"type": "error",
"status": 404,
"code": "not_found",
"message": "Could not find the resource",
},
{
"type": "error",
"status": 401,
"code": "",
"message": "Could not find the specified ",
}
]
我想将每个JSON对象的message
字段的值更改为vars.germanMessage
变量。
我已尝试通过 Dataweave 2 对其进行修改:
%dw 2.0
output application/java
---
(payload as Array) map {
"message": vars.germanMessage
}
但这会返回仅包含message
字段的新JSON消息。
输入类型为Array<Object>
,输出类型也为
在不更改消息其余部分的情况下,有什么方法可以替换该值?
答案 0 :(得分:4)
是的,只需使用mapObject
payload mapObject (value,key) -> {
(key): if((key as String) == "message")) vars.germanMessage else value
}