在线提交需求

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

极奇策RPA技术教程:更新字典键名(key) (NodeDictUpdateKeyName) - 自动化开发与配置详细指南

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

image.png

更新字典键名(key)

📖 节点概述

重命名字典中的指定键(支持嵌套路径)。通过路径语法(如 user/name)可以重命名深层嵌套的键,支持数组通配符 [*] 批量重命名数组中每个对象的某个键,也支持数组索引 [0] 精确修改某个位置元素的键。可以同时重命名多个键(批量操作),每个旧键对应一个新键名(通过动态输入端口分别传入),或使用单个列表统一传入一组新键名(合并输入模式)。提供可视化工具辅助选择旧键路径。该节点为纯数据节点,无执行端口。

💡 使用场景

  • 字段重命名:API 响应中的字段名与前端期望不一致时,批量重命名。
  • 数据标准化:将不同数据源的字段名统一为规范名称(如 user_nameuserName)。
  • 结构重构:深层嵌套字段改名,无需手动解构再构造。
  • 数组内字段批量改名:如将数组中每个对象的 oldField 改为 newField
  • 兼容性适配:数据库字段变更后,在流程中动态重命名以匹配旧逻辑。

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

节点有三个固定输入端口:原字典,以及根据配置动态变化的 新键名 端口(或 新键名列表 端口)。输出端口 新字典

场景案例:重命名用户字典中的 namefullName

  1. 准备字典:在“原字典”文本框中输入 JSON:

    {"user": {"name": "张三", "age": 25}}
    

    或从上游连线传入字典对象。

  2. 设置旧键路径:在“键”输入框中填写 user/name(斜杠表示嵌套层级)。

  3. 设置新键名:节点会动态生成一个名为 user/name 的输入端口(若“合并输入”未勾选)。在该端口输入 fullName(或连线传入)。

  4. 获取结果新字典 输出:

    {"user": {"fullName": "张三", "age": 25}}
    

批量重命名多个键

  • 在“键”中输入 JSON 数组:["user/name", "user/age"]
  • 节点生成两个端口:user/nameuser/age,分别填入 fullNameyearsOld
  • 结果:{"user": {"fullName": "张三", "yearsOld": 25}}

合并输入模式

  • 勾选“合并输入”。
  • 在“键”中输入 ["a","b","c"]
  • 节点生成一个名为 新键名列表 的端口,填入 ["x","y","z"]
  • 结果:字典中的键 axbycz,其余不变。

数组通配符批量重命名

  • 字典:{"users":[{"old":"A"},{"old":"B"}]}
  • 键:users/[*]/old
  • 新键名:new
  • 结果:{"users":[{"new":"A"},{"new":"B"}]}

⚙️ 引脚与参数说明

📥 输入引脚(固定)

引脚名称数据类型说明
原字典DICT / STRING待操作的字典。支持字典对象、JSON 字符串或简易键值对格式。
STRING要重命名的旧键路径。支持斜杠分隔的嵌套路径(如a/b/c)、数组通配符 [*]、数组索引 [0]。也支持 JSON 数组格式传入多个旧键(如 ["oldKey1","oldKey2"])。

📥 输入引脚(动态)

引脚名称数据类型说明
{旧键名}STRING当“合并输入”关闭时,每个旧键会生成一个对应的输入端口,用于传入该键的新键名(字符串)。
新键名列表LIST当“合并输入”开启时,该端口用于传入一个字符串列表,列表长度应与旧键数量一致,按顺序对应每个旧键的新键名。

⚙️ 控件参数

控件名称类型说明
原字典多行文本框手动输入字典内容。连线时优先使用连线值。
单行文本框手动输入旧键路径(单键或 JSON 数组)。
合并输入复选框(高级)勾选后,所有新键名通过一个统一的新键名列表 端口传入(列表形式);不勾选则每个旧键生成独立的新键名端口。

📤 输出引脚

引脚名称数据类型说明
新字典DICT重命名键后的新字典(原字典不会被修改)。

🔧 路径语法详解

  • 斜杠分隔a/b/c 表示字典 a 下的键 b 下的键 c
  • 转义斜杠:如果键名本身包含斜杠,使用 \/ 转义,例如 http\/https
  • 数组通配符[*] 表示遍历数组中的每个元素,对每个元素执行重命名。
  • 数组索引[0] 表示数组的首个元素(索引从 0 开始)。
  • 类型转换:路径中的数字会被自动转为整数键(适用于字典键为数字的情况);<int>123 可强制转为整数键;<bool>true 可转为布尔键。

⚠️ 注意事项

  • 原字典不变:节点返回重命名后的新字典,原输入字典保持不变(内部进行深拷贝,避免副作用,注意性能)。
  • 键不存在时:如果指定的旧键路径不存在,重命名操作被忽略(不报错,字典不变)。
  • 新键名冲突:如果新键名在当前层级已经存在,重命名会覆盖该已有键的值(旧键的值会覆盖到新键上,旧键被删除)。请确保新键名不与同级其他键名冲突。
  • 批量操作时键与键名的匹配:在合并输入模式下,新键名列表的长度应与旧键数量一致;若长度不足,缺失的键不会被重命名;若长度超出,多余的键名被忽略。
  • 数组通配符行为[*] 仅影响数组中的字典对象,不影响数组本身。重命名后,数组结构保持不变,仅内部键名更改。
  • 动态端口的生命周期:修改“键”或“合并输入”后,节点会自动增删对应的输入端口,删除端口时对应连线也会断开。
  • 性能:对大型嵌套结构进行批量重命名时,深拷贝可能消耗较多内存。但对于常规数据量,影响可忽略。

💎 小贴士

  • 点击眼睛图标(👁️)可以打开可视化面板,直观选择要重命名的旧键,自动填入“键”输入框。
  • 刷新按钮(🔄)可手动同步动态端口(通常会自动同步)。
  • 清空按钮(🗑️)可一键清空“键”输入框并收缩动态端口。
  • 使用数组通配符 [*] 可以一次性重命名数组中所有对象的某个字段。
  • 若只需要修改键的值而不改名,请使用【更新字典键】节点。
  • 该节点是纯数据节点,无需执行信号,可在数据流中直接使用。
助理
咨询
微信
微信客服扫码添加微信
社群
QQ群扫码加入Q群
电话
免费咨询热线0371-67993886
顶部