mule - Dataweave 从 groupBy 之后的值中删除 json 元素 | 骡子 3.9
问题描述
我正在尝试基于 dataweave 中的 groupBy 转换 xml,但是我还需要从输出中删除一些 json 属性。
输入json:
[ {
"m": {
"a": "a",
"b": "b"
},
"tag1": "A",
"tag2": "v1",
"tag3": "v1" }, {
"m": {
"a": "a",
"b": "b"
},
"tag1": "A",
"tag2": "v2",
"tag3": "v2" }, {
"m": {
"a": "a",
"b": "b"
},
"tag1": "C",
"tag2": "v3",
"tag3": "v3" } ]
输出json
**{
"A": [
{
"tag2": "v1",
"tag3": "v1"
},
{
"tag2": "v2",
"tag3": "v2"
}
],
"C": {
"tag2": "v3",
"tag3": "v3"
}
}**
我尝试了以下转换(Mule 3.9),但是无法删除 json 中的额外属性。
payload groupBy (item) -> item.tag1
感谢对此的任何建议,并可能解释如何实现这一点。
解决方案
遍历对象的方法是使用 mapObject ,然后您可以过滤对象以删除不需要的元素
{a: [1,2,3], b: [2,3]} mapObject ((value,key) ->
{
(key): value filter ((value, index) -> value > 2)
}
)
这将输出
{
"a": [
3
],
"b": [
3
]
}
推荐阅读
- firebase - 有没有办法在firebase中将别名设置为项目支持电子邮件?
- android - Android Studio 计数器
- javascript - 如何从 Elementor Widget 控制字段中获取值
- python - Disocrd.py 试图制作一个检测多个单词的不和谐机器人
- ios - 尝试推送通知
- regex - 如何在文档中使用正则表达式对字符串进行完全匹配以进行修改
- ios - “不能调用非函数类型‘字符串’的值?
- android - Android sdkmanager 为任何参数提供 IllegalArgumentException
- excel - 宏在呈现中间步骤之前整体执行
- react-native - 如何将切换抽屉添加到我的导航?