Java Dataweave-替换对象中字段的值

Java Dataweave-替换对象中字段的值,java,mule,overwrite,dataweave,Java,Mule,Overwrite,Dataweave,我有一个Java对象作为输入负载: { "name"="Michael", "surname"="Alpha", "mail"="demo@gmail.com", "gender"="Male" } 我想更改性别值保留邮件的其余部分: %dw 2.0 output application/java --- gender: if(payload.gender == "Male") "" else payload.gender 但它只返回性别字段。 我如何解决这个问题?dataweave脚本需要

我有一个
Java对象
作为输入负载:

{
"name"="Michael",
"surname"="Alpha",
"mail"="demo@gmail.com",
"gender"="Male"
}
我想更改性别值保留邮件的其余部分

%dw 2.0
output application/java
---
gender: if(payload.gender == "Male") "" else payload.gender
但它只返回性别字段。
我如何解决这个问题?

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

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

如果您的负载是一个映射/对象,它将只替换存在的键,或者添加不存在的键。例如:

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