-1

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

请让我知道如何实现这一目标。

下面是我的数据编织,它将文件中的 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'
}
4

1 回答 1

2

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

%dw 2.0
output application/json
---
payload."Sheet Name" map(payload01,index01)-> { 
    city: payload01.City, 
    ...
    Brand: vars.brandsMapping[payload01.'Fuel Brand']
}

例如,如果输入是(注意:我删除了其他属性以简化示例):

[{City=City A, Fuel Brand=brand1}, {City=City B, Fuel Brand=brand3}]

变量 vars.brandsMapping 包含:

{brand1=The brand1, brand2=The brand2, brand3=The brand3}

输出将是:

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

更新:由于您明确表示要进行动态映射,因此在文档页面中提到了可用于此的方法:https ://docs.mulesoft.com/mule-runtime/4.1/dataweave-cookbook-map-基于外部定义

于 2019-09-30T02:37:11.733 回答