在线提交需求

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

极奇策RPA技术教程:获取字典的键 (NodeDictGetKeys) - 自动化开发与配置详细指南

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

image.png

获取字典的键

📖 节点概述

获取字典中指定路径下的所有键名(keys)。支持嵌套路径(如 user/profile),可以通过斜杠语法深入到子字典中提取其键名。也支持数组通配符 [*] 获取数组中每个字典的键名集合(返回列表的列表)。目标路径留空时,默认提取根字典的所有键。支持批量路径输入(JSON 数组),并根据“合并输出”选项返回单个列表或独立端口。该节点为纯数据节点,无执行端口。

💡 使用场景

  • 动态字段发现:在不清楚字典具体结构时,获取所有键名用于后续遍历或动态处理。
  • 嵌套结构分析:获取深层子字典的字段名,用于生成表单或文档。
  • 数据对比:比较两个字典的键集合是否一致。
  • API 响应探测:从复杂的 JSON 响应中快速获取某个嵌套节点的字段列表。
  • 批量提取:一次性获取多个不同路径下的键集合,用于并行处理。

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

节点有两个输入端口:字典目标路径。输出端口根据配置动态变化。

场景案例:获取根字典的所有键

  1. 准备字典:在“字典”文本框中输入 JSON:
    {"name": "张三", "age": 25, "city": "北京"}
    
  2. 目标路径留空:不填写任何内容。
  3. 获取结果提取的键 输出 ["name", "age", "city"]

嵌套路径示例

  • 字典:
    {"user": {"profile": {"name": "张三", "email": "test@ex.com"}, "settings": {"theme": "dark"}}}
    
  • 目标路径:user/profile
  • 输出:["name", "email"]

数组通配符示例

  • 字典:
    {"users": [{"name": "A", "age": 20}, {"name": "B", "age": 25}]}
    
  • 目标路径:users/[*]
  • 输出:[["name", "age"], ["name", "age"]](每个字典的键列表)
  • 如果后续需要合并去重,可使用【列表展平】或【列表去重】节点。

批量路径模式

  • 目标路径:["user/profile", "user/settings"](JSON 数组)
  • 勾选“合并输出” → 输出端口为 提取结果,输出列表的列表:[["name","email"], ["theme"]]
  • 不勾选“合并输出” → 生成两个独立输出端口,分别输出各自键列表。

⚙️ 引脚与参数说明

📥 输入引脚

引脚名称数据类型说明
字典DICT / STRING目标字典。支持字典对象、JSON 字符串或简易键值对格式。
目标路径STRING / LIST要获取键名的路径。支持斜杠分隔的嵌套路径(如a/b)、数组通配符 [*]、数组索引 [0]。留空则获取根字典的所有键。也支持 JSON 数组格式传入多个路径。

⚙️ 控件参数

控件名称类型说明
字典多行文本框手动输入字典内容。连线时优先使用连线值。
目标路径单行文本框手动输入路径(单路径或 JSON 数组)。留空表示根字典。
合并输出复选框(高级)勾选后,所有路径的结果合并为一个列表输出(端口名为提取结果),每个元素是对应路径的键列表;不勾选时,每个路径生成独立的输出端口。

📤 输出引脚(动态)

输出模式引脚名称数据类型说明
单路径(路径非数组)提取的键LIST单个键名列表(字符串列表)。
多路径(独立端口){路径}LIST每个路径对应一个独立输出端口,输出该路径下的键名列表。
多路径(合并输出)提取结果LIST按输入顺序返回键名列表的列表。

🔧 路径解析与提取规则

  • 斜杠分隔a/b 表示进入字典 a 下的键 b,然后获取 b 的键名。
  • 数组通配符[*] 作用于数组,返回每个元素的键名列表(列表的列表)。例如 users/[*] 返回每个 user 字典的键名列表。
  • 数组索引[0] 只获取指定索引元素的键名列表。
  • 空路径:返回当前字典(或列表的首个元素如果是字典)的所有键名。
  • 类型转换:路径中的数字会被自动转为整数键;<int>123 可强制转为整数键;<bool>true 可转为布尔键。

返回值格式

  • 如果路径指向一个字典,返回该字典的所有键(字符串列表)。
  • 如果路径指向一个列表且使用了通配符 [*],返回列表的列表(每个元素是每个子字典的键列表)。
  • 如果路径指向一个列表且未使用通配符(如 users),会尝试将列表的首个元素视为字典并返回其键名(容错行为)。
  • 如果路径无法定位到字典(例如中间某个键不是字典),返回空列表 []

⚠️ 注意事项

  • 原字典不变:节点只读取数据,不修改原字典。
  • 目标路径为空时:输出根字典的键名。如果根字典是空字典,输出空列表。
  • 数组通配符的结果:返回的是列表中每个子项的键名列表,可能包含重复(如果子项结构相同)。如需唯一键集合,可后续使用【列表展平】+【列表去重】。
  • 批量路径端口动态变化:修改“目标路径”或“合并输出”后,输出端口会自动增删,下游连线可能断开,请留意。
  • 性能:提取键名需要遍历路径,对大型字典和深路径有一定开销,但一般可接受。
  • 可视化工具:点击 👁️ 图标打开面板,可以直观浏览字典结构并选择要提取键的层级,自动填入目标路径。

💎 小贴士

  • 获取根字典键名是数据探索的常用功能,留空“目标路径”即可。
  • 使用数组通配符 [*] 可以快速查看数组中所有对象是否拥有相同的字段集合。
  • 结合【字典大小】节点,可以获取键名的数量。
  • 如果需要获取键的同时也获取值,请使用【字典项遍历】或【解构字典】节点。
  • 该节点是纯数据节点,无需执行信号,可在数据流中直接使用。
助理
咨询
微信
微信客服扫码添加微信
社群
QQ群扫码加入Q群
电话
免费咨询热线0371-67993886
顶部