在线提交需求

请留下您的联系方式,我们的专家将在 24 小时内与您沟通。

极奇策RPA技术教程:字典合并 (NodeDictMerge) - 自动化开发与配置详细指南

极奇策技术团队更新于 2026-08-310 阅读

image.png

字典合并

📖 节点概述

将多个字典按顺序合并成一个新字典。当多个字典中存在相同键时,后合并的字典会覆盖先合并的字典中的值。支持动态增减输入端口(右键菜单),至少 2 个字典。每个输入端口可以接受字典对象、JSON 字符串、Python 字典字面量、URL Query 字符串或简易键值对格式(多行/逗号分隔)。该节点为纯数据节点,无执行端口。

💡 使用场景

  • 配置覆盖:将默认配置字典与用户自定义配置字典合并,用户配置覆盖默认值。
  • 数据聚合:将从多个 API 获取的字典数据合并为一个完整字典。
  • 默认值填充:用默认字典合并用户输入,确保所有必需字段存在。
  • 动态参数构造:将多个键值对来源(如查询参数、表单数据、文件配置)合并成统一的参数字典。
  • 增量更新:将更新字典与原始字典合并,生成新版本。

🎮 实战连线指南:如何正确使用它?

节点通过动态端口接收至少 2 个字典,按端口顺序(字典 1字典 2字典 3 ...)依次合并,后合并的键覆盖前面的。

场景案例:合并用户基本信息与附加信息

  1. 准备字典 1(基础信息):在“字典 1”文本框中输入:

    {"name": "张三", "age": 25}
    
  2. 准备字典 2(附加信息,且年龄有更新):

    {"city": "北京", "age": 26}
    
  3. 获取结果合并字典 输出:

    {"name": "张三", "age": 26, "city": "北京"}
    

    age 被字典 2 覆盖为 26)

多字典合并示例

  • 字典 1:{"a":1, "b":2}
  • 字典 2:{"b":3, "c":4}
  • 字典 3:{"c":5}
  • 结果:{"a":1, "b":3, "c":5}

覆盖行为验证:后出现的字典中的键会覆盖之前字典中的同名键。


⚙️ 引脚与参数说明

📥 输入引脚(动态)

引脚名称数据类型说明
字典 1, 字典 2, ...DICT / STRING待合并的字典。至少 2 个,可通过右键菜单动态增删。每个端口支持字典对象、JSON 字符串、Python 字面量、URL Query 或简易键值对格式(通过【创建字典】节点相同的解析器)。

⚙️ 控件参数

控件名称类型说明
字典 1, 字典 2, ...多行文本框每个动态端口对应一个多行文本框,用于手动输入字典内容。连线时优先使用连线值。

📤 输出引脚

引脚名称数据类型说明
合并字典DICT按顺序合并所有输入字典后的新字典对象。

🔧 合并规则

  • 后键覆盖前键:当两个字典有相同键时,后面字典的值会覆盖前面字典的值。
  • 浅合并:只合并首层键值对,不会递归合并嵌套字典。例如:
    • 字典 1:{"a": {"x": 1}}
    • 字典 2:{"a": {"y": 2}}
    • 结果:{"a": {"y": 2}}(整个嵌套字典被覆盖,不是深度合并)
    • 若需要深度合并,请使用【字典深度合并】节点(若有)或手动实现。
  • 输入格式支持:节点内部使用与【创建字典】相同的 _smart_parse_dict 解析器,支持 JSON、Python 字面量、URL Query、多行/逗号分隔的 key:valuekey=value 格式。

⚠️ 注意事项

  • 原字典不变:节点返回合并后的新字典,不会修改任何输入字典。
  • 动态端口管理:右键单击节点可添加或删除输入端口。删除端口时对应的连线会自动断开。未连线的端口若没有手动输入内容,会被视为空字典(不影响合并结果)。
  • 解析失败处理:如果某个端口的值无法解析为字典,会被视为空字典 {},不会导致流程中断。
  • 性能:合并操作时间复杂度 O(n * m),n 为输入字典个数,m 为每个字典的平均键值对数量。
  • 嵌套结构:如前所述,合并是浅层的。若需要深合并,请结合后续节点手动处理或使用表达式。

💎 小贴士

  • 点击节点工具栏的眼睛图标(👁️)可以实时预览当前所有输入端口的字典合并结果,方便调试。
  • 合并常用于为请求参数添加默认值:先放默认字典,后放用户字典。
  • 如果需要将多个字典合并后用于【字典取值】或【变量设置】,可以直接连接输出端口。
  • 由于是纯数据节点,无需执行信号,可在数据流中随时使用。
助理
咨询
微信
微信客服扫码添加微信
社群
QQ群扫码加入Q群
电话
免费咨询热线0371-67993886
顶部