首页 > 解决方案 > Dataweave 在变换中追加

问题描述

我正在尝试将“字段”数组中存在的所有 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",
        "mimeType": "application/vnd.google-apps.folder"
         },
          { 
        "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_0iFfmdcwtqT6RxeeoOt0、1NFQ_89UzVlLYduquZ4hsch4dB65h6fkv

像上面一样

标签: appendconcatenationdataweavemule4

解决方案


@Count Boxer 很接近,但没有完全预期的输出,我相信它可以进一步简化。


%dw 2.0
output text/plain
---
"FileorFolderIds = $(payload.files.*id joinBy  ',')"

推荐阅读