如何将传入的具有对象的 JSON 有效负载转换为具有下游系统期望的对象列表的有效负载

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

输入负载:

{
  "9873452": "74298",
  "9067329": "32115"
  "1234556": "98765"
}

预期输出负载

{
    "provider": "Salesforce",
    "payload": [
        {
            "empId": 74298,
            "empName": "9873452"
        },
        {
            "empId": 32115,
            "empName": "9067329"
        },
        {
            "empId": 98765,
            "empName": "1234556"
        }
    ]
}

我尝试使用下面的代码进行转换,但无法获得预期的输出有效负载

%dw 2.0
output application/json
---
payload mapObject ((value, key, index) -> {
provider: "Salesforce",
payload:
 [empName: key,
empId:value]
})

感谢您的任何建议。

mule dataweave mule4
1个回答
0
投票

由于您期望输出中包含数组,因此

pluck
在这里将很有用,因为
mapObject
的输出仍然是一个对象,而对于 pluck 来说它将是一个数组

%dw 2.0
output application/json
---
{
"provider": "Salesforce",
"payload": payload pluck (value, key, index) -> 
 {
        "empName": key,
        "empId": value
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.