You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ADF Pipeline中json()函数仅返回单个元素,如何生成指定格式ID字符串?

解决ADF Pipeline中Lookup结果转ID列表字符串的问题

问题根因

你当前的表达式(@{json(join(activity('Lookup1').output.value, ',')).id})存在逻辑错误:

  • activity('Lookup1').output.value是包含多个对象的数组(如[{"id":1},{"id":2},{"id":3},{"id":4}])
  • 直接用join拼接这些对象,会生成类似{"id":1},{"id":2},{"id":3},{"id":4}的非法JSON字符串
  • 用json()解析该字符串时,仅能识别第一个完整对象{"id":1},因此最终只返回第一个ID

正确解决方案

使用map函数先提取所有ID值,再拼接成目标格式:

@concat('(', join(map(activity('Lookup1').output.value, item()['id']), ','), ')')

步骤拆解

  1. 提取ID数组:map(activity('Lookup1').output.value, item()['id'])遍历Lookup结果数组,将每个对象的id值提取出来,生成纯数字数组[1,2,3,4]
  2. 拼接成字符串:join(..., ',')将数字数组转为逗号分隔的字符串"1,2,3,4"
  3. 包裹括号:concat('(', ..., ')')给字符串前后加上括号,得到最终格式(1,2,3,4)

内容的提问来源于stack exchange,提问作者K N

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 18:03:08