极奇策RPA技术教程:字符串转列表 (NodeStrToList) - 自动化开发与配置详细指南

字符串转列表
📖 节点概述
将字符串解析为列表。支持多种输入格式:标准 JSON 数组(如 ["a","b"])、Python 字面量列表(如 ['a','b'])、多行文本(每行一个元素)。输出为 Python 列表对象。该节点为纯数据节点,无执行端口。
💡 使用场景:
- 手动输入批量数据:在多行文本框中每行输入一个元素,快速生成列表。
- 解析 JSON 数组:将从 API 返回的 JSON 字符串中的数组部分提取为列表。
- 配置读取:从配置文件中读取列表形式的字符串,转为实际列表。
- 简单 CSV 解析:将逗号分隔的字符串转为列表(但需注意本节点默认按行拆分,并非按逗号;如需按逗号,建议先使用【分割字符串】)。
- Python 代码兼容:解析
['a',1,True]形式的字面量,保留原始类型。
🎮 实战连线指南:如何正确使用它?
节点有一个输入端口 文本 和一个输出端口 列表。
场景案例:将多行文本转换为列表
- 输入文本:在“文本”多行文本框中填写:
apple banana cherry - 获取结果:
列表输出["apple", "banana", "cherry"]。 - 后续使用:将列表用于循环或其他列表操作。
JSON 数组示例:
- 文本:
["apple","banana","cherry"] - 输出:
["apple","banana","cherry"]
Python 字面量示例:
- 文本:
['apple', 1, True] - 输出:
["apple", 1, True](注意类型被保留:字符串、整数、布尔)
单个元素示例:
- 文本:
"hello"(不是 JSON 数组也不是多行文本) - 输出:
["hello"](包装为单元素列表)
⚙️ 引脚与参数说明
📥 输入引脚
| 引脚名称 | 数据类型 | 说明 |
|---|---|---|
| 文本 | STRING | 待解析的字符串。支持 JSON 数组、Python 字面量列表或多行文本(每行一个元素)。 |
⚙️ 控件参数
| 控件名称 | 类型 | 说明 |
|---|---|---|
| 文本 | 多行文本框 | 手动输入字符串内容。当连线传入数据时,连线值优先。 |
📤 输出引脚
| 引脚名称 | 数据类型 | 说明 |
|---|---|---|
| 列表 | LIST | 解析后得到的列表。 |
🔧 解析优先级与规则
节点按以下顺序尝试解析输入字符串:
- JSON 数组:如
["a","b",1],使用json.loads()。 - Python 字面量:如
['a','b',1],使用ast.literal_eval()(也支持元组,会转为列表)。 - 多行文本:按换行符拆分,每行去除首尾空格,非空行成为列表元素(空行被忽略)。
- 如果只有一行且不是 JSON/Python 列表格式,则该行作为唯一元素。
- 如果输入已经是列表对象(如从连线传入),直接返回副本。
⚠️ 注意事项
- 空字符串或空输入:输出空列表
[]。 - 多行文本的空行会被忽略:例如输入包含空行时,空行不会成为列表中的空字符串。如需保留空字符串,请使用 JSON 数组格式:
["a", "", "b"]。 - 类型保留:JSON 和 Python 字面量解析会保留数字、布尔值等原始类型;多行文本解析则所有元素均为字符串。
- 性能:解析小型字符串很快,对于超大 JSON 数组,
json.loads()会解析整个结构,注意内存消耗。 - 安全性:使用
ast.literal_eval()而非eval(),相对安全,不会执行任意代码。
💎 小贴士:
- 该节点与【列表转字符串】节点互为逆操作(当使用换行符作为分隔符且元素中不含换行符时)。
- 若需要按特定分隔符(如逗号、空格)分割字符串,请使用【分割字符串】节点,更直接。
- 多行文本模式非常适合将用户粘贴的列表项快速转为程序可用的列表。
- 解析 Python 字面量时,可以使用单引号,且支持
True、False、None等字面量,非常灵活。
这篇文档对您有帮助吗?
您的反馈将帮助我们持续优化文档内容

