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

Azure Data Factory:按指定varname动态获取JSON对象的value值

解决方案

针对你的需求,正确的动态内容表达式需要结合数组筛选、安全访问和空值替换来实现:

当varname是变量时

@coalesce(first(filter(activity().outputs?.body?.data, item().varname == variables('varname')))?.value, '')

当varname是固定字符串(如'foo_id')时

@coalesce(first(filter(activity().outputs?.body?.data, item().varname == 'foo_id'))?.value, '')

表达式逻辑拆解

  • filter(activity().outputs?.body?.data, item().varname == [目标值]):遍历返回的JSON数组,筛选出varname与目标值匹配的对象
  • first(...):取筛选结果的第一个对象(假设每个varname唯一,若存在多匹配可根据需求调整)
  • ?.value:安全访问对象的value属性,避免未找到对象时抛出空引用错误
  • coalesce(..., ''):如果前面的结果为null(即无匹配对象),则返回空字符串

原表达式无效原因

你之前使用的substring是字符串截取函数,完全不适用JSON数组的对象查找场景,因此无法得到预期结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 15:25:55