首页 > 解决方案 > 从 Mule Dataweave 过滤 Json 数组

问题描述

我的请求 Json 如下所示。我想检索所有将角色作为测试的 productNumber。

{
   "productRelation": [
      {
         "productNumber": 12345,
         "roles": [
            {
               "role": {
                  "code": "test",
                  "description": "test"
               }
            }
         ]
      },
      {
         "productNumber": 789,
         "roles": [
            {
               "role": {
                  "code": "dev",
                  "description": "dev"
               }
            }
         ]
      },
      {
         "productNumber": 111,
         "roles": [
            {
               "role": {
                  "code": "prod",
                  "description": "prod"
               }
            }
         ]
      }
   ]
}

我尝试使用 dataweave 过滤器将其过滤掉。我使用 mule 4 和 dataweave 2.0

标签: muledataweave

解决方案


使用过滤器:

%dw 2.0
output application/json
---
payload.productRelation 
    filter ((item, index) -> item.roles..code contains "test") 
    map ((item, index) -> item.productNumber)

推荐阅读