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

获取字典键值
📖 节点概述
从字典中提取指定键路径对应的值。支持嵌套路径(如 user/profile/name)和数组索引(如 users/0/name),也支持数组通配符 [*] 批量提取数组中每个对象的某个字段(返回字段值列表)。可以同时提取多个值(通过 JSON 数组传入多个键路径),并根据“合并输出”选项返回单个列表或独立输出端口。输出值的类型根据原字典中值的类型决定(字符串、数字、列表、字典等)。该节点为纯数据节点,无执行端口。
💡 使用场景:
- 深层取值:从复杂的嵌套 JSON 中安全提取深层字段,避免逐层写多个【字典取值】节点。
- 数组字段提取:从对象数组中提取所有某个字段的值(如提取所有用户的
name)。 - 批量取值:一次获取多个不相关的字段值。
- 动态键路径:通过变量构建键路径,实现程序化取值。
- 数据转换前准备:提取所需字段后,进行后续处理(如字符串拼接、数学运算)。
🎮 实战连线指南:如何正确使用它?
节点有两个输入端口:字典 和 键。输出端口根据配置动态变化。
场景案例:提取用户字典中的 user/name 值
- 准备字典:在“字典”文本框中输入 JSON:
{"user": {"name": "张三", "age": 25}} - 设置键路径:在“键”输入框中填写
user/name。 - 获取结果:由于未勾选“合并输出”,只有一个输出端口
提取值,输出"张三"。
数组通配符批量提取:
- 字典:
{"users": [{"name": "A", "age": 20}, {"name": "B", "age": 25}]} - 键:
users/[*]/name - 输出:
["A", "B"](列表)
批量提取多个键路径(独立端口):
- 键:
["user/name", "user/age"](JSON 数组) - 不勾选“合并输出”:生成两个输出端口
user/name和user/age,分别输出"张三"和25。 - 勾选“合并输出”:只生成一个输出端口
提取结果,输出["张三", 25]。
数组索引提取:
- 键:
users/0/name→ 提取第一个用户的 name。 - 键:
users/2→ 提取第三个用户对象(整个字典)。
⚙️ 引脚与参数说明
📥 输入引脚
| 引脚名称 | 数据类型 | 说明 |
|---|---|---|
| 字典 | DICT / STRING | 目标字典。支持字典对象、JSON 字符串或简易键值对格式。 |
| 键 | STRING | 要提取值的键路径。支持斜杠分隔的嵌套路径、数组索引[0]、数组通配符 [*]。也支持 JSON 数组格式传入多个键路径。 |
⚙️ 控件参数
| 控件名称 | 类型 | 说明 |
|---|---|---|
| 字典 | 多行文本框 | 手动输入字典内容。连线时优先使用连线值。 |
| 键 | 单行文本框 | 手动输入键路径(单路径或 JSON 数组)。 |
| 合并输出 | 复选框(高级) | 勾选后,所有路径的结果合并为一个列表输出(端口名为提取结果);不勾选时,每个路径生成独立的输出端口。 |
📤 输出引脚(动态)
| 输出模式 | 引脚名称 | 数据类型 | 说明 |
|---|---|---|---|
| 单路径(键非数组) | 提取值 | ANY | 单个值(类型与原字典中一致)。 |
| 多路径(独立端口) | {键路径} | ANY | 每个键路径对应一个独立输出端口,输出该路径提取的值。 |
| 多路径(合并输出) | 提取结果 | LIST | 按输入顺序返回提取值的列表(元素类型可混合)。 |
🔧 路径语法与提取规则
- 斜杠分隔:
a/b/c表示从字典a下取键b,再取键c的值。 - 数组索引:
users/0/name表示取users列表的第一个元素中的name值。 - 数组通配符:
users/[*]/name表示取users列表中每个元素的name值,返回列表。 - 通配符为空:
users/[*]返回整个数组的每个元素(列表形式)。 - 类型转换:路径中的数字会被自动转为整数键;
<int>123强制转为整数键;<bool>true转为布尔键。 - 路径不存在时:返回
None(不会报错)。
通配符返回值说明:
- 如果路径以
[*]结尾,且目标是一个数组,返回值是每个元素对应值的列表。 - 如果数组元素本身是字典,提取其字段;如果数组元素是基本类型,则返回这些基本类型的列表。
- 如果数组为空,返回空列表
[]。
⚠️ 注意事项
- 原字典不变:节点只读取数据,不修改原字典。
- 键路径不存在:返回
None。建议结合【检查键是否存在】节点先验证。 - 数组通配符的性能:对于大型数组,批量提取会遍历所有元素,注意性能影响。
- 批量路径端口动态变化:修改“键”或“合并输出”后,输出端口会自动增删,下游连线可能断开,请留意。
- 输出类型为 ANY:由于提取的值类型不确定,输出端口类型为
ANY(灰色),下游节点需能处理多种类型或通过【类型判断】节点适配。 - 可视化工具:点击 👁️ 图标可以打开面板,直观浏览字典结构并选择要提取的键,自动填入“键”输入框。
💎 小贴士:
- 提取单个常用字段时,直接在“键”中填写路径,从
提取值端口获取。- 需要同时提取多个字段并分别处理,使用独立端口模式,每个字段连接到不同的下游节点。
- 使用通配符
[*]可以快速从对象数组中抽取出某个属性的所有值,例如从用户列表提取所有姓名。- 提取深层路径时,如果中间某个键不存在,会返回
None,建议用【条件判断】节点做防护。- 该节点是纯数据节点,无需执行信号,可在数据流中直接使用。
这篇文档对您有帮助吗?
您的反馈将帮助我们持续优化文档内容

