m子4中Dataweave中的匹配数组值

问题描述

我试图匹配有效负载中的特定值,并使用dataweave表达式仅返回匹配的数组值。

输入:

name: QA

有效载荷:

{
 "kind": "drive#driveList","nextPagetoken": "~!!~AI9FV7TFuXfzyGg-txFqJWTa2odxcgJ3ULdaNmst8","drives": [
  {
   "kind": "drive#drive","id": "0AKrgo4Gdm2hzUk9PVA","name": "Dev"
  },{
   "kind": "drive#drive","id": "0AGymmOhxiCGwUk9PVA","name": "EHS Safety - Public"
  },"id": "0AAD3jo6D8PX-Uk9PVA","name": "Job Master folder"
  },"id": "0AI1WUfEk8cWkUk9PVA","name": "Mstemplates"
  },"id": "0AC_FdkeL63mHUk9PVA","name": "QA"
  }
 ]
}

预期输出应为 输出

{
   "kind": "drive#drive","name": "QA"
  }

我该如何实现?

解决方法

您可以使用以下数据编织表达式:

%dw 2.0
output application/json
---
payload.drives filter ((item,index) -> item.name == 'QA')

输出:

[
  {
    "kind": "drive#drive","id": "0AC_FdkeL63mHUk9PVA","name": "QA"
  }
]

请注意,生成的有效负载将是“驱动器”项的数组。