数据编织中的骡子过滤逻辑处理

问题描述 投票:0回答:1

我有一个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字段在请求有效负载和响应有效负载中很常见

请帮帮我。

mule dataweave
1个回答
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)
© www.soinside.com 2019 - 2024. All rights reserved.