Dataweave JSON 过滤器
Dataweave JSON filter
我正在尝试 select 来自 JSON 请求的数据
[
{
"Field1": "data1",
"Field2": "set1",
"Field3": "reset1"
},
{
"Field1": "data2",
"Field2": "set2",
"Field3": "reset2"
},
{
"Field1": "data3",
"Field2": "set3",
"Field3": "reset3"
},
{
"Field1": "data4",
"Field2": "set4",
"Field3": "reset4"
}
]
我想 select field3 的字符串值,其中 field2 是 "set3"。即"reset3".
我试过的DWL:
payload.Field3 filter (payload.Field2 ==["set3"])
您可以这样过滤:
<logger level="ERROR" message="Field3:::: #[(payload filter ($.Field2 =='set3'))[0].Field3]" />
过滤 returns 数组,因为数组选择器 [0]
如果有可能出现多个结果,您可能需要更改表达式。
Use可以使用这个DW表达式:
%dw 1.0
%output application/json
---
payload filter ($.Field2=="set3") map {
Field3: $.Field3
}
结果:
[
{"Field3": "reset3"}
]
我正在尝试 select 来自 JSON 请求的数据
[
{
"Field1": "data1",
"Field2": "set1",
"Field3": "reset1"
},
{
"Field1": "data2",
"Field2": "set2",
"Field3": "reset2"
},
{
"Field1": "data3",
"Field2": "set3",
"Field3": "reset3"
},
{
"Field1": "data4",
"Field2": "set4",
"Field3": "reset4"
}
]
我想 select field3 的字符串值,其中 field2 是 "set3"。即"reset3".
我试过的DWL:
payload.Field3 filter (payload.Field2 ==["set3"])
您可以这样过滤:
<logger level="ERROR" message="Field3:::: #[(payload filter ($.Field2 =='set3'))[0].Field3]" />
过滤 returns 数组,因为数组选择器 [0]
如果有可能出现多个结果,您可能需要更改表达式。
Use可以使用这个DW表达式:
%dw 1.0
%output application/json
---
payload filter ($.Field2=="set3") map {
Field3: $.Field3
}
结果:
[
{"Field3": "reset3"}
]