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

Azure Data Factory中如何向现有数组追加子元素filterId

解决方案

要将filterId添加到engineId:398001所在的对象中,不要使用union(它的作用是合并数组),应该用addProperty函数给指定对象追加属性。

正确的SetVariable表达式

如果需要保留完整的JSON结构,使用以下表达式重新构建整个对象:

@{
    createObject(
        'name', activity('GetEngines').output.name,
        'value', createArray(
            createObject(
                'branch', createArray(
                    addProperty(
                        activity('GetEngines').output.value[0].branch[0],
                        'filterId',
                        variables('fltr')
                    )
                )
            )
        )
    )
}

表达式说明

  1. addProperty:专门用于给JSON对象添加新属性,第一个参数是目标对象,第二个是属性名,第三个是属性值。这里直接定位到branch数组里包含engineId:398001的对象,给它追加filterId和对应变量值。
  2. createObject/createArray:用于重新构建原JSON的层级结构,确保修改后的对象嵌入到正确位置,不会破坏原有格式。

错误原因解析

你之前用union合并数组时,把拼接出来的字符串"filterId":398291当成数组元素加入,这会让它成为独立的数组项,而非目标对象的属性,因此输出不符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 04:33:16