我有一个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"
}
]
}
现在,我要过滤并提取我在ID字段中的“请求有效负载”中获取的那些ID的数据,并在收集响应有效负载中将它们匹配。
ID字段在请求有效负载和响应有效负载中都是常见的
请帮助我。
答案 0 :(得分:0)
让我们假设您将第一个有效负载存储在名为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)