使用@concat合并管道变量数组时出现类型不匹配错误求助
问题解决:合并Logic Apps中两个变量的数组值
错误原因
你使用@concat(variables('set_list'),variables('sam_k'))报错的核心原因是:@concat函数直接作用于整个变量对象时,会将对象自动转换为字符串类型,但目标字段需要的是数组/对象类型,因此触发类型不匹配错误。
解决方案
需要先提取两个变量中的value数组,再合并数组,最后构造符合要求的对象结构:
正确表达式
直接构造目标对象的话,可以使用以下表达式:
@createObject('name', 'sam_k', 'value', concat(variables('sam_k')['value'], variables('set_list')['value']))
也可以分步拆解(更直观):
- 提取
sam_k的数组值:variables('sam_k')['value'] - 提取
set_list的数组值:variables('set_list')['value'] - 合并两个数组:
@concat(variables('sam_k')['value'], variables('set_list')['value']) - 组合成最终对象:将合并后的数组赋值给
value字段,指定name为sam_k
最终输出结果
执行上述表达式后,会得到你期望的结果:
{ "name": "sam_k", "value": [ 5, 1, 3, 4, 2 ] }
内容的提问来源于stack exchange,提问作者Samir More
相关产品推荐
相关产品推荐

