Dataweave-替换对象中字段的值

时间:2019-06-16 13:11:51

标签: java mule overwrite dataweave

我有一个Java Object作为输入有效负载:

{
"name"="Michael",
"surname"="Alpha",
"mail"="demo@gmail.com",
"gender"="Male"
}

我要更改性别值保留其余消息

%dw 2.0
output application/java
---
gender: if(payload.gender == "Male") "" else payload.gender

但是它只返回性别字段。 我该如何解决?

1 个答案:

答案 0 :(得分:2)

dataweave脚本需要匹配您的输出结构,并且您只输出一个性别字段。

使用payload ++可以修改当前有效负载,这是一种快速的方法。

如果您的有效载荷是地图/对象,它将仅替换键(如果存在)或添加键(如果不存在)。示例:

%dw 2.0
output application/java
---
payload ++ {gender: (if (payload.gender == "male") ""  else payload.gender)}