【问题标题】:Maching values in dataweave mule4dataweave mule4中的匹配值
【发布时间】:2020-11-10 17:26:56
【问题描述】:

我正在尝试匹配以下有效负载中的值。

    result = {
        "drives": [{
            "id": "0AC_FdkeL63mHUk9PVA",
            "name": "QA"
        }, {
            "id": "0AC_Ype39GAOpUk9PVA",
            "name": "Salesforce.com"
        }, {
            "id": "0AA9MLlEbuhRfUk9PVA",
            "name": "UAT-zz-SFJobs-2020-10"
        }]
    }

我正在使用下面的代码来检查 Salesforce.com 的值是否存在并返回。 使用下面的代码

%dw 2.0
output application/json
---
payload.result.drives filter ((item, index) -> item.name == "Salesforce.com")

它给了我错误,我该如何实现这一目标

预期输出:

"drives": [{
            "id": "0AC_Ype39GAOpUk9PVA",
            "name": "Salesforce.com"
        } ]

【问题讨论】:

  • 嗨,丹尼尔!您能否提供有关您遇到的错误的更多详细信息?谢谢。
  • 您的输入似乎是 Java 和 JSON 的混合。您遇到的可能错误是因为它尝试读取为 JSON 但格式不正确。

标签: dataweave mule4


【解决方案1】:

为我工作。您需要为响应创建一个drives 属性以匹配预期输出。

请注意,输入不是有效的 JSON。这可能是错误的原因。

%dw 2.0
output application/json
---
{ 
    drives: payload.result.drives filter ((item, index) -> item.name == "Salesforce.com") 
}

输出:

{
  "drives": [
    {
      "id": "0AC_Ype39GAOpUk9PVA",
      "name": "Salesforce.com"
    }
  ]
}

输入(调整后):

{ 
    "result" : {
        "drives": [{
            "id": "0AC_FdkeL63mHUk9PVA",
            "name": "QA"
        }, {
            "id": "0AC_Ype39GAOpUk9PVA",
            "name": "Salesforce.com"
        }, {
            "id": "0AA9MLlEbuhRfUk9PVA",
            "name": "UAT-zz-SFJobs-2020-10"
        }]
    }
}

【讨论】:

    猜你喜欢
    • 2022-11-18
    • 1970-01-01
    • 2023-03-24
    • 2021-02-10
    • 2021-11-27
    • 2021-02-23
    • 2022-12-18
    • 2019-08-23
    • 1970-01-01
    相关资源
    最近更新 更多