问题描述
我试图将所有存在于“ fields”数组中的id值合并到一个变量中。
输入:
{
"rootId":"1oV_wWX-19utijBTxn1QHLsVFjvO-8DSG","jobName":"C##-#9-00057 Demand QA 1.1","folderName":"Billing","parentId":"188Hde_c_ZQiFQeSZX7IxCJGSWySWFOHn","includeSubfolder":true,"files": [{
"id": "1JdVXF4EDI2if6kxTSTsYlYhmADeXZQf3","name":"Billing","mimeType": "application/vnd.google-apps.folder"
},{
"id": "1KeYyslxo4ezNeuedn4XrXrWvfaaKKvXU","name":"GoogleSheet1","mimeType": "application/vnd.google-apps.document"
},{
"id": "1Poh5FMry692_0iFfmdcwtqT6RxeeoOt0","name":"Forms",{
"id": "1NFQ_89UzVlLYduquZ4hsch4dB65h6fkv","name":"Zipfile.zip","mimeType": "application/zip"
}
]
}
以上是我输入的有效载荷。
我正在尝试在Dataweave表达式下面
%dw 2.0
output plain/text
var FileorFolderIds = ""
---
payload.files map (Sample,indexOfSamples) ->{
FileorFolderIds = FileorFolderIds ++ ',' ++ Sample.id
}
但给我错误。
预期输出:
FileorFolderIds = 1JdVXF4EDI2if6kxTSTsYlYhmADeXZQf3,1KeYyslxo4ezNeuedn4XrXrWvfaaKKvXU,1Poh5FMry692_0iFfmdcwtqT6RxeeoOtZ4LY6B
像上面的
解决方法
%dw 2.0
output text/plain
var FileorFolderIds = ""
---
payload.files map $.id joinBy (",")
这将返回:
1JdVXF4EDI2if6kxTSTsYlYhmADeXZQf3,1KeYyslxo4ezNeuEdN4XrXrWvfaaKKvXU,1Poh5FMry692_0iFfmdcwtqT6RxeeoOt0,1NFQ_89UzVlLYduquZ4hsch4dB65h6fkv
,
@Counter Boxer已经很接近了,但是还没有达到预期的输出,我相信它可以进一步简化。
%dw 2.0
output text/plain
---
"FileorFolderIds = $(payload.files.*id joinBy ',')"