3

我有一个 SalesForce SOQL 快照的输出,它是这种格式的 JSON。

[
  {
    "QualifiedApiName": "Accelerator_Pack__c"
  },
  {
    "QualifiedApiName": "Access_Certifications__c"
  },
  {
    "QualifiedApiName": "Access_Requests__c"
  },
  {
    "QualifiedApiName": "Account_Cleansed__c"
  },
  {
    "QualifiedApiName": "Account_Contract_Status__c"
  }
]

我正在尝试将这些值转换为一个字符串,其中的值用逗号分隔,就像这样,这样我就可以在另一个查询的 SELECT 子句中使用它。

Accelerator_Pack__c, Access_Certifications__c, Access_Requests__c, Account_Cleansed__c, Account_Contract_Status__c

从文档中,我的理解是 .toString() 会将数组转换为逗号分隔的字符串,但如附图所示,它没有做任何事情。这个事情谁有经验?

在此处输入图像描述

4

2 回答 2

2

您需要聚合传入的文档。

使用Aggregatesnap 功能CONCAT。这将为您提供一个|分隔的连接字符串作为输出,如下所示。

Accelerator_Pack__c|Access_Certifications__c|Access_Requests__c|Account_Cleansed__c|Account_Contract_Status__c

然后,您可以将 替换|,like$concatenated_fields.split('|').join(',')$concatenated_fields.replace(/\|/g, ',')

以下是配置的详细说明。

样品管道:

样品管道

样本输入:

我设置了您在JSON Generator测试中提供的示例 JSON。

样本输入

聚合:

聚合

聚合结果:

你得到一个|分隔的连接字符串。

总产出

映射器表达式:

映射器

输出:

两个表达式给出相同的结果。

输出

于 2020-02-05T19:30:52.307 回答
0

您也可以直接使用数组函数来实现这一点。请参阅以下可用于连接值的管道:

在此处输入图像描述

我使用 JSONGenerator 将您的示例数据作为输入。然后我使用 GroupByN snap 和 '0' 作为组大小来制定数组。

在此处输入图像描述

最后在映射器中,您可以使用以下表达式进行连接:

jsonPath($, "$arrayAccom[*].QualifiedApiName").join(",")

在此处输入图像描述

于 2020-11-04T10:16:25.353 回答