繁体   English   中英

Dataweave 从 groupBy 之后的值中删除 json 元素 | 骡子 3.9

[英]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.

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