我读取了一个包含[
{
"example":{
"name":"edward",
"lastName":"espin"
},
"error":"That name doesn't exists"
},
{
"example":{
"name":"toretto",
"lastName":"brav"
},
"error":null
}
]
的文件,如下所示:
for-each
我想使用相同的格式仅存储错误值不为空的记录。
我使用了payload.error != null
,它遍历每个JSON并在内部运行,检查JSON是否不包含带有空值(for-each
)的“错误”字段。
问题是我在choice
中使用了[
{
"example":{
"name":"edward",
"lastName":"espin"
},
"error":"That name doesn't exists"
}
]
。
期望的输出必须是:
^
使用转换组件和 Dataweave 2 是否有更简单的方法?
答案 0 :(得分:4)
这很简单,只需在消息转换消息处理器中使用过滤器运算符即可。
%dw 2.0
output application/json
---
payload filter ((item, index) -> item.error != null)
答案 1 :(得分:1)
下面是另一种方式
payload[?($.error != null)]