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

Azure Logic Apps字典变量初始化及对象合并方法咨询

Azure Logic Apps 字典变量初始化及对象合并实现

一、初始化字典类型变量

Azure Logic Apps 没有单独的「字典」类型,可直接用**对象(Object)**类型模拟字典(键值对结构完全匹配)。创建变量时:

  • 类型选择「对象」
  • 初始值设为 {}(空对象)

二、合并对象集合的具体步骤

假设从API获取的原始数据存在变量RawData中,字典变量命名为NameTypeMap,按以下步骤操作:

  1. 添加For Each循环:遍历variables('RawData')中的每一项
  2. 判断当前Name是否已在字典中:在循环内添加「条件」操作,使用contains函数判断:
    contains(variables('NameTypeMap'), items('For_each')?['Name'])
    
  3. 处理已存在的Name:条件为「是」时,更新字典中对应Name的Types数组(用union去重合并):
    setProperty(variables('NameTypeMap'), items('For_each')?['Name'], union(variables('NameTypeMap')[items('For_each')?['Name']], createArray(items('For_each')?['Type'])))
    
  4. 处理新的Name:条件为「否」时,向字典中添加新的键值对,Types设为包含当前Type的数组:
    setProperty(variables('NameTypeMap'), items('For_each')?['Name'], createArray(items('For_each')?['Type']))
    
  5. 转换为目标数组:循环结束后,用values函数提取字典的所有值,得到最终合并结果:
    values(variables('NameTypeMap'))
    

最终效果

经过上述步骤,即可将你提供的原始数据:

[
  {
    "Name": "Mr. Test Smith",
    "Type": "ACCOUNTSPAYABLE"
  },
  {
    "Name": "Mr. Test Smith",
    "Type": "DISPATCH"
  },
  {
    "Name": "Different Name",
    "Type": "ACCOUNTSPAYABLE"
  }
]

转换为目标格式:

[
  {
    "Name": "Mr. Test Smith",
    "Types": [
      "ACCOUNTSPAYABLE",
      "DISPATCH"
    ]
  },
  {
    "Name": "Different Name",
    "Types": [
      "ACCOUNTSPAYABLE"
    ]
  }
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 10:26:02