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

创建字典
📖 节点概述
将多种格式的输入转换为字典对象。支持标准 JSON、Python 字典字面量、URL Query 字符串(如 token=abc&id=123)以及简易的键值对格式(key: value 或 key=value,支持多行或逗号分隔)。输入可以是已有的字典对象(直接穿透),也可以是字符串。该节点为纯数据节点,无执行端口。
💡 使用场景:
- 配置解析:将用户输入的配置字符串(如
host=localhost&port=8080)转为字典,便于后续使用。 - 数据格式统一:将不同来源的键值对数据(JSON、URL 参数、多行文本)统一为字典结构。
- 手动构造字典:在流程中通过多行文本快速创建字典,避免连接多个【字典设置】节点。
- API 参数准备:将字符串形式的请求参数快速转为字典,传递给 HTTP 请求节点。
- 日志/数据解析:从日志或配置文件中提取键值对,转为结构化字典。
🎮 实战连线指南:如何正确使用它?
节点有一个输入端口 输入 和一个输出端口 字典。输入可以是已存在的字典对象(直接传递),也可以是多种格式的字符串。
场景案例:从多行文本创建用户信息字典
- 手动输入:在“输入”多行文本框中填写:
name: Alice age: 28 city: Beijing - 获取结果:
字典输出{"name": "Alice", "age": 28, "city": "Beijing"}。 - 后续使用:将字典传递给【字典取值】或【变量设置】节点。
JSON 格式示例:
- 输入:
{"product": "laptop", "price": 5999} - 输出:
{"product": "laptop", "price": 5999}
URL Query 格式示例:
- 输入:
token=abc123&expire=3600&flag=true - 输出:
{"token": "abc123", "expire": 3600, "flag": true}
Python 字典字面量示例:
- 输入:
{'name': 'Bob', 'score': 95.5} - 输出:
{"name": "Bob", "score": 95.5}
逗号分隔的键值对示例:
- 输入:
id=1, status=active, retry=0 - 输出:
{"id": 1, "status": "active", "retry": 0}
⚙️ 引脚与参数说明
📥 输入引脚
| 引脚名称 | 数据类型 | 说明 |
|---|---|---|
| 输入 | STRING / DICT | 待解析的字典或字符串。支持多种格式:JSON、Python 字面量、URL Query 字符串、key:value/key=value 多行或逗号分隔。如果传入已存在的字典对象,则直接透传。 |
⚙️ 控件参数
| 控件名称 | 类型 | 说明 |
|---|---|---|
| 输入 | 多行文本框 | 手动输入待解析的字符串。支持上述所有格式。当连线传入数据时,连线值优先。 |
📤 输出引脚
| 引脚名称 | 数据类型 | 说明 |
|---|---|---|
| 字典 | DICT | 解析后的字典对象。如果输入无法解析,返回空字典{}。 |
🔧 解析优先级
节点按以下顺序依次尝试解析输入字符串:
- 标准 JSON:如
{"k":"v"}。 - Python 字面量:如
{'k': 'v'}、{"k": "v"}。 - URL Query 格式:如
k=v&a=b(仅当字符串不含换行且包含&和=时触发)。 - 简易键值对:
- 按行拆分(支持多行),每行按首个
:或=分割。 - 如果只有一行且包含逗号,也支持逗号分隔(如
k1=v1,k2=v2)。 - 键值去除首尾空格,值会尝试自动转换为数字/布尔等类型(通过
ast.literal_eval)。
- 按行拆分(支持多行),每行按首个
- 如果所有尝试均失败,返回空字典
{}。
⚠️ 注意事项
- 类型自动转换:节点会尝试将字符串值转换为 Python 原生类型(如
"28"→28,"true"→True)。如需精确控制类型,建议后续使用【类型转换】节点。 - URL Query 解析:
&分隔的多个键值对,重复的键会被保留为列表(如a=1&a=2→{"a": ["1", "2"]})。注意此时值不会被自动数字转换。 - 多行文本中的空行:会被忽略。
- 键名规范:简易模式下键名不应包含
:或=字符,否则可能导致分割错误。建议使用 JSON 格式处理复杂键名。 - 性能:对于简单的多行文本,解析很快;对于复杂 JSON 或 Python 字面量,依赖底层解析器,性能可接受。
💎 小贴士:
- 如果输入字符串来自不可信来源(如用户输入),建议先进行校验,避免恶意注入(但节点内未执行
eval,建议使用ast.literal_eval和json.loads)。- 需要创建嵌套字典时,请使用 JSON 格式,例如
{"user": {"name": "Alice"}}。- 结合【字典取值】节点,可以快速获取特定键的值。
- 该节点是纯数据节点,无需执行信号,可在数据流中直接使用。
这篇文档对您有帮助吗?
您的反馈将帮助我们持续优化文档内容

