EXCEL到JSON转换中循环和键值对的Mulesoft 4 Dataweave

EXCEL到JSON转换中循环和键值对的Mulesoft 4 Dataweave,mule,dataweave,mule-esb,mulesoft,mule4,Mule,Dataweave,Mule Esb,Mulesoft,Mule4,我有一个将excel文件转换为JSON的数据编织转换,我必须根据存储在变量中的键值对值更改元素(文件列)的值 %dw 2.0 output application/json --- payload map(payload01,index01)->{ city: payload01.City, province: payload01.Province, phone: payload01.Phone, fax: payload01.FAX, email: payload0

我有一个将excel文件转换为JSON的数据编织转换,我必须根据存储在变量中的键值对值更改元素(文件列)的值

%dw 2.0
output application/json 
---
payload map(payload01,index01)->{
  city: payload01.City,
  province: payload01.Province,
  phone: payload01.Phone,
  fax: payload01.FAX,
  email: payload01.EMAIL,
  Brand: payload01.'Fuel Brand'
}
请让我知道如何做到这一点

下面是我的data weave,它将文件中的600行转换为JSON。但是,我需要根据存储在变量中的键值对映射来更改Brand的值

%dw 2.0
output application/json 
---
payload map(payload01,index01)->{
  city: payload01.City,
  province: payload01.Province,
  phone: payload01.Phone,
  fax: payload01.FAX,
  email: payload01.EMAIL,
  Brand: payload01.'Fuel Brand'
}

我知道您希望使用输入有效载荷的“燃料品牌”属性中的值作为变量中的索引:

%dw 2.0
output application/json
---
payload."Sheet Name" map(payload01,index01)-> { 
    city: payload01.City, 
    ...
    Brand: vars.brandsMapping[payload01.'Fuel Brand']
}
例如,如果输入为(注意:我删除了其他属性以简化示例):

变量vars.brandsMapping包含:

{brand1=The brand1, brand2=The brand2, brand3=The brand3}
输出将是:

[
  {
    "city": "City A",
    "Brand": "The brand1"
  },
  {
    "city": "City B",
    "Brand": "The brand3"
  }
]

更新:既然您澄清了您想要动态映射,文档页面中提到了可用于动态映射的方法:

既然输入是excel,您需要首先参考vars.brandsMapping[{“data_input”:“ULTRA”,“transformed_value”:“ULTIMA”},{“数据输入”:“PETA”,“转换值”:“Petro”},{“数据输入”:“SHE”,“转换值”:“Shelly”}]如果我在表格中得到Fuel Brand=ULTRA,我需要根据Brand vars进行映射,在这种情况下,我需要将Fuel Brand=超动态地转换到表格中的所有行,有一种不同的方法可以做到这一点。我会更新我的答案。