简体   繁体   English

Dataweave删除空数组

[英]Dataweave remove empty array

We are running MuleEsb 3.9.0 I'm trying to remove empty array's in my dataweave transformation. 我们正在运行MuleEsb 3.9.0,我正在尝试在dataweave转换中删除空数组。 For example: 例如:

payload map ((value , indexOfValue) -> {
 value : {
    content: value.content,
    subvalue: value.subValue map ((subValue, indexOfsubValue)->
    {
        sub: subValue
    }) filter ($.sub != null )
  }
})

this will result in 这将导致

[
  {
    value:
     {
       content: xyz
       subValue: []
     }
  }
]

i want subValue to be totally removed. 我希望subValue被完全删除。 to be outputted: 输出:

[
  {
    value:
     {
       content: xyz
     }
  }
]

You need something like this: 您需要这样的东西:

payload map ((v) -> {
  value: {
    content: v.content,
    (subvalue: v.subValue map ... ) when ((sizeOf v.subValue) != 0)
  }
})

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

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