java - 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
但它只返回性别字段。 我该如何解决?
解决方案
dataweave 脚本需要匹配您的输出结构,并且您只输出一个性别字段。
只需修改当前有效负载的一种快速方法是使用payload ++
.
如果您的有效负载是地图/对象,它只会在存在时替换键,如果不存在则添加它。例子:
%dw 2.0
output application/java
---
payload ++ {gender: (if (payload.gender == "male") "" else payload.gender)}
推荐阅读
- apache-camel - Apache Camel 是否为 3 个服务器节点中的 configure() 内部的多个 from() 创建多个线程?
- swift - Mac 键盘数字小键盘上 Enter 键的 UIKeyCommand
- mysql - 您如何找到重叠最高或最低的时期
- mysql - 我最好使用两个查询中的哪一个来提高性能?
- ios - 当我通过 IOS 中的 UIActivityViewController 共享 PDF base64 字符串时如何重命名文件名
- python - 布尔输出不一致
- r - 从多个现有变量创建新的日期变量
- string - 切片显示在列表中的行和列
- ffmpeg - 如何使用ffmpeg在d:/盘中进行批量拆分和批量转换并将输出文件保存在e:/盘中?
- git - 签出以首先提交分支并克隆存储库