Dataweave - 替换对象中字段的值

Dataweave - Replace value of a field in an object

我有一个 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

但它 return 只有性别字段。 我该如何解决?

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

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

如果您的有效载荷是 map/object,它将只替换密钥(如果存在)或添加它(如果不存在)。示例:

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