[英]Dataweave to remove json elements from values after groupBy | Mule 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
]
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.