mule 4中JSON数据的转换

mule 4中JSON数据的转换,mule,mule-component,dataweave,mulesoft,mule4,Mule,Mule Component,Dataweave,Mulesoft,Mule4,我需要将JSON数据从一种格式转换为另一种格式。 我必须获取JSON数组的相应值,并使它们成为键值对 以下是所需的详细信息: 输入: "Headers": { "Header": [ { "Key": "SellerOrganization", "Value": "XYZ" }, { "Key": "SellerType", "Value": "B2C" }, {

我需要将JSON数据从一种格式转换为另一种格式。 我必须获取JSON数组的相应值,并使它们成为键值对

以下是所需的详细信息:

输入:

"Headers": {
    "Header": [
      {
        "Key": "SellerOrganization",
        "Value": "XYZ"
      },
      {
        "Key": "SellerType",
        "Value": "B2C"
      },
      {
        "Key": "Region",
        "Value": "SOUTH"
      },
      {
        "Key": "OrderType",
        "Value": "RETURN"
      },
      {
        "Key": "InvoiceType",
        "Value": ""
      },
      {
        "Key": "EventType",
        "Value": "Created"
      },
      {
        "Key": "EntryType",
        "Value": "Call Center"
      }
    ]
  }
预期产出:

{
    SellerOrganization:XYZ,
    SellerType: B2C,
    Region:SOUTH,
    OrderType:RETURN,
    InvoiceType:"",
    EventType:Created,
    EntryType:Call Center
}

您可以在此利用
reduce
函数,该函数将允许您将数组转换为
键、值
对对象

%dw 2.0
output application/json
---
payload.Header reduce ((item, acc = {}) -> acc ++ {
    (item.Key): item.Value
})
你可以使用它,它将基本上做你想要的

%dw 2.0
output application/json
---
{
    (payload.Headers.Header map ((item, index) -> {
        (item.Key): item.Value
    })
    )
}