在Mulesoft (Version4.2.1)中,我将CSV文件作为输入,而在header中,我得到了一些空格和标题名称,这是我没有想到的。例如,我得到的是'FirstName‘而不是'FirstName’。如何在处理前从标头中移除额外的空格。
发布于 2020-03-21 23:06:30
这是一种方法。
%dw 2.0
output application/json
import * from dw::core::Objects
var headers=keySet(payload[0]) reduce ((key, acc = {}) -> acc ++ { (trim(key)): key})
fun searchKeyTrimmed(row, h)=row[headers[h]]
---
payload map {
a: searchKeyTrimmed($,'a'),
b: searchKeyTrimmed($,'b')
}输入:
a , b,c,d
1,2,3,4输出:
[
{
"a": "1",
"b": "2"
}
]发布于 2020-03-21 12:17:22
在您的情况下,Mulesoft只是转换引擎。它与标题中的空格无关。如果标头有'FirstName‘,那么您应该按原样使用这个列名。也可以通过额外的转换将其转换为另一个名称,如下所示:
%dw 2.0
output application/json
---
{
FirstName: payload['FirstName ']
}发布于 2022-09-07 13:34:17
map迭代数组中的项。$是值(对象)。
mapObject迭代对象。$$是键(csv中的头),$是值(该键在行中的值)。
将和替换为,用于搜索字符串(键),在本例中为空格(""),并将其替换为空字符串(“")。因此,标题中的所有空格都将被删除。
%dw 2.0
output application/csv
---
payload map ($ mapObject ($$ replace " " with ""):$)FYI -对于json输出格式,请将application/csv更新为application/json
https://stackoverflow.com/questions/60784170
复制相似问题