我有一个Json有效载荷,即
{
"Numbers": [
0
],
"title": "string",
"Ids": [
0, 1, 2
],
"group": 0
}
我正在进行http调用以获取DB中所有客户的记录集合,即
{
"details": [{
"detailId": 0,
"Id": 0,
"name": "string",
"place": "string",
"country": "string",
"bloodgroup": "string",
"area": "string"
},
{
"detailId": 0,
"Id": 1,
"name": "string",
"place": "string",
"country": "string",
"bloodgroup": "string",
"area": "string"
}
]
}
现在我想过滤和提取我在Ids字段中获取请求有效负载的那些ID的数据,并在集合响应有效负载中匹配它们。
ID字段在请求有效负载和响应有效负载中很常见
请帮帮我。
假设您将第一个有效负载存储在名为flowVars.ids
的变量中。你想使用contains
方法,如果您检查的值包含在数组中,则返回true
,否则返回false
。这里有几个例子:
// Returns true
[1,2,3,4,5] contains 5
// Returns false
[1,2,3,4,5] contains "Hello"
所以你可以像这样构造你的filter
(假设Mule 3.x和DataWeave 1.0):
%dw 1.0
%output application/java
%var ids = flowVars.ids.Ids
---
payload.details filter (ids contains $.Id)