ADF从JSON数组提取用户ID作为变量的问题排查
问题分析与解决方案
操作错误原因
第一个错误(数组追加报错)
Append To Array Variable活动仅支持向数组变量添加单个非数组类型元素(如字符串、整数、对象等),但你使用的表达式@activity('JSONImport').output.value & @item().result试图将两个数组拼接后直接追加,本质是把整个数组当作元素插入,不符合活动的类型要求,因此触发类型不匹配错误。
第二个错误(仅获取第一个用户ID)
你的表达式@item().result[0].user.value中,[0]是固定索引,只会提取result数组的第一个用户对象的ID,没有遍历result中的所有用户条目,因此只能拿到第一个用户的ID。
正确操作步骤
- 设置Foreach迭代项:将Foreach活动的迭代项设置为
@activity('JSONImport').output.value[0].result。你的JSON结构中,
activity('JSONImport').output.value是长度为1的数组,其第一个元素的result字段才是包含所有用户对象的数组,直接迭代这个数组才能遍历所有用户。 - Append Variable表达式:在Foreach内部的Append Variable活动中,使用表达式
@item().user.value,每次迭代会自动提取当前遍历到的用户对象的ID,并追加到数组变量中。
内容的提问来源于stack exchange,提问作者BoboMobo
相关产品推荐
相关产品推荐

