mule - 使用 DWL 2.0 进行转换
问题描述
输入 -
[
{
"SBQQ__Language__c": "th",
"SBQQ__APIName__c": "Description",
"SBQQ__Text__c": null,
"SBQQ__LongTextArea__c": "Packaging prepress - TH"
},
{
"SBQQ__Language__c": "th",
"SBQQ__APIName__c": "Name",
"SBQQ__Text__c": "ArtPro - TH",
"SBQQ__LongTextArea__c": null
},
{
"SBQQ__Language__c": "es",
"SBQQ__APIName__c": "Name",
"SBQQ__Text__c": "ArtPro - ES",
"SBQQ__LongTextArea__c": null
},
{
"SBQQ__Language__c": "es",
"SBQQ__APIName__c": "Description",
"SBQQ__Text__c": null,
"SBQQ__LongTextArea__c": "Packaging prepress - ES"
},
{
"SBQQ__Language__c": "de",
"SBQQ__APIName__c": "Name",
"SBQQ__Text__c": "ArtPro - DE",
"SBQQ__LongTextArea__c": null
},
{
"SBQQ__Language__c": "de",
"SBQQ__APIName__c": "Description",
"SBQQ__Text__c": null,
"SBQQ__LongTextArea__c": "Packaging prepress - DE"
}
]
所需输出:
[
{
"locale": "th",
"name": "ArtPro - TH",
"description": "Packaging prepress - TH"
},
{
"locale": "es",
"name": "ArtPro - ES",
"description": "Packaging prepress - ES"
},
{
"locale": "de",
"name": "ArtPro - DE",
"description": "Packaging prepress - DE"
}
]
注意:映射 -
'locale' : SBQQ__Language__c,
'name' : SBQQ__Text__c,
'description' : SBQQ__LongTextArea__c
我尝试使用 groupBy 然后尝试合并但没有成功。
解决方案
尝试这个:
%dw 2.0
output application/dw
---
payload groupBy $.SBQQ__Language__c
mapObject (
(v,k,i) -> {
(k): {
locale: k,
name: (v filter ($.SBQQ__APIName__c == "Name"))[0].SBQQ__Text__c,
description: (v filter ($.SBQQ__APIName__c == "Description"))[0].SBQQ__LongTextArea__c
}
}
)
pluck $
考虑到除了输入和输出之外没有提供太多解释,我不得不做出某些假设,这很适合尝试推断出你想要的东西。如果这不是您正在寻找的内容,可能会在您的问题中提供更多详细信息,我会在最后进行修改。
我希望它有所帮助。
编辑:我相信这个解决方案会表现得更好:
%dw 2.0
output application/dw
---
payload groupBy $.SBQQ__Language__c
mapObject (
(v,k,i) -> {
(k): v reduce (e, acc={locale: k}) -> acc ++ do {
var field = lower(e.SBQQ__APIName__c)
---
(field): if (field == "name") e.SBQQ__Text__c else e.SBQQ__LongTextArea__c
}
}
)
pluck $
推荐阅读
- c++ - 为什么我的好友功能无法访问私人会员?
- plpgsql - Oracle 到 Postgres 转换故障排除
- python - 在Python中返回矩阵中间索引的干净方法
- webix - Webix treetable 小部件是否支持动态添加/删除/更新树节点和相应的表行?
- html - 即使没有输入,文本周围也会出现空格
- soapui - 从 ReadyAPI 自动创建缺陷
- linux - 关于反引号和%string含义的问题
- python - Keras:如何从张量中仅提取某些层
- python - 获取 AttributeError:“列表”对象没有属性“下一个”
- php - 更新树枝全局变量的问题