繁体   English   中英

Dataweave-过滤字段值是否为空

[英]Dataweave - Filter if a field value is null or not

我读取了一个包含JSON Array的文件,如下所示:

[
   {
      "example":{
         "name":"edward",
         "lastName":"espin"
      },
      "error":"That name doesn't exists"
   },
   {
      "example":{
         "name":"toretto",
         "lastName":"brav"
      },
      "error":null
   }
]

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

我使用了for-each ,它遍历每个JSON,并且在每个JSON中运行,检查JSON是否不包含具有空值的“错误”字段( payload.error != null )。

问题是我使用for-eachchoice

预期的输出必须是:

[
   {
      "example":{
         "name":"edward",
         "lastName":"espin"
      },
      "error":"That name doesn't exists"
   }
]

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

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

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

下面是另一种方式

payload[?($.error != null)]

暂无
暂无

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

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