在 SnapLogic 中将数组转换为字符串
Turning Array Into String in SnapLogic
我有 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() 会将数组转换为逗号分隔的字符串,但如附图所示,它什么也没做。有人有这方面的经验吗?
您需要汇总传入的文档。
将 Aggregate
快照与函数 CONCAT
结合使用。这将为您提供一个 |
分隔的连接字符串作为输出,如下所示。
Accelerator_Pack__c|Access_Certifications__c|Access_Requests__c|Account_Cleansed__c|Account_Contract_Status__c
然后您可以将 |
替换为 ,
,例如 $concatenated_fields.split('|').join(',')
或 $concatenated_fields.replace(/\|/g, ',')
。
下面是详细的配置说明
示例管道:
示例输入:
我把你在JSON Generator
中提供的样本JSON用于测试。
聚合:
聚合结果:
你得到一个 |
分隔的连接字符串。
映射器表达式:
输出:
两个表达式给出相同的结果。
也可以直接使用数组函数来实现。请参阅以下可用于连接值的管道:
我使用 JSONGenerator 将您的示例数据作为输入。
然后我使用以“0”作为组大小的 GroupByN snap 来制定数组。
最后在映射器中你可以使用下面的表达式来连接:
jsonPath($, "$arrayAccom[*].QualifiedApiName").join(",")
我有 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() 会将数组转换为逗号分隔的字符串,但如附图所示,它什么也没做。有人有这方面的经验吗?
您需要汇总传入的文档。
将 Aggregate
快照与函数 CONCAT
结合使用。这将为您提供一个 |
分隔的连接字符串作为输出,如下所示。
Accelerator_Pack__c|Access_Certifications__c|Access_Requests__c|Account_Cleansed__c|Account_Contract_Status__c
然后您可以将 |
替换为 ,
,例如 $concatenated_fields.split('|').join(',')
或 $concatenated_fields.replace(/\|/g, ',')
。
下面是详细的配置说明
示例管道:
示例输入:
我把你在JSON Generator
中提供的样本JSON用于测试。
聚合:
聚合结果:
你得到一个 |
分隔的连接字符串。
映射器表达式:
输出:
两个表达式给出相同的结果。
也可以直接使用数组函数来实现。请参阅以下可用于连接值的管道:
我使用 JSONGenerator 将您的示例数据作为输入。 然后我使用以“0”作为组大小的 GroupByN snap 来制定数组。
最后在映射器中你可以使用下面的表达式来连接:
jsonPath($, "$arrayAccom[*].QualifiedApiName").join(",")