繁体   English   中英

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

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

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

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

如果您的有效负载是地图/对象,它只会在存在时替换键,如果不存在则添加它。 例子:

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

从 4.3.0 Runtime 版本开始可以通过以下方式简化 dataweave 脚本:

%dw 2.0
output application/java
---
payload update {
       case .gender -> if(payload.gender == "Male") "" else payload.gender
       
}

示例: 更改字段值 Mule 4.3 的示例

链接文档: 更改值 Mule 4.3

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM