Как мне отфильтровать ответ в dataweave на основе определенных критериев? - PullRequest
0 голосов
/ 26 марта 2019

Допустим, я получаю следующий ответ от вызова API.

accounts: [

accountName: "A",
amount: 10$

account Name "B closed",
amount: 20$

]

Я хочу отфильтровать все ответы учетной записи, которые содержат ключевое слово closed в имени учетной записи.Может кто-нибудь сказать мне, как отфильтровать все ответы, которые содержат закрытые на основе этого и дать мне только учетную запись A.

Я использую dw 1.0 для моего кода mulesoft.Пожалуйста, дайте мне знать, если у вас есть другие вопросы.

1 Ответ

3 голосов
/ 26 марта 2019

Если предположить, что вы вводите:

{
  "accounts": [
    {
      "accountName": "A",
      "amount": "10$"
    },
    {
      "accountName": "B closed",
      "amount": "20$"
    }
  ]
}

Затем вы можете отфильтровать его следующим образом:

%dw 1.0
%output application/json
---
payload.accounts filter ((account) -> not (account.accountName contains "closed"))

Что приведет к:

[
  {
    "accountName": "A",
    "amount": "10$"
  }
]
...