Dataweave - 过滤字段值是否为空

gtx*_*911 2 json filter mule dataweave

我读了一个包含JSON Array这样的文件:

[
   {
      "example":{
         "name":"edward",
         "lastName":"espin"
      },
      "error":"That name doesn't exists"
   },
   {
      "example":{
         "name":"toretto",
         "lastName":"brav"
      },
      "error":null
   }
]
Run Code Online (Sandbox Code Playgroud)

我只想使用相同的格式将错误值不为空的记录存储在新文件中。

我使用了一个for-each贯穿每个 JSON 和内部的,检查该 JSON 是否没有带有空值 ( payload.error != null)的“错误”字段。

问题是我for-each在 a 中使用 a和choice

预期的输出必须是:

[
   {
      "example":{
         "name":"edward",
         "lastName":"espin"
      },
      "error":"That name doesn't exists"
   }
]
Run Code Online (Sandbox Code Playgroud)

转换组件Dataweave 2是否有更简单的方法?

mac*_*val 5

这非常简单,只需在消息转换消息处理器中使用过滤器运算符即可。

%dw 2.0
output application/json
---
payload filter ((item, index) -> item.error != null)
Run Code Online (Sandbox Code Playgroud)