在线提交需求

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

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

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

image.png

字符串转字典

📖 节点概述

将字符串解析为字典对象。支持多种输入格式:标准 JSON 对象(如 {"key":"value"})、Python 字典字面量(如 {'key':'value'})。如果输入不是字典类型(如数字、字符串、数组),会被包装为 {"_value": 输入内容} 的形式。解析失败则返回空字典 {}。该节点为纯数据节点,无执行端口。

💡 使用场景

  • 解析 API 响应:将从 HTTP 请求返回的 JSON 字符串转换为字典,便于字段提取。
  • 配置文件读取:将 JSON 格式的配置字符串转为字典,用于流程参数初始化。
  • 数据格式统一:将不同来源的字符串(JSON、Python 字典字符串)统一为字典对象。
  • 动态参数构造:在流程中根据字符串内容动态生成字典,传递给下游节点。
  • 存储数据还原:将之前序列化存储的字典字符串还原为原结构。

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

节点有一个输入端口 文本 和一个输出端口 字典

场景案例:将 JSON 字符串转换为用户信息字典

  1. 输入文本:在“文本”多行文本框中填写:
    {"name": "李四", "age": 30, "city": "北京"}
    
  2. 获取结果字典 输出 {"name": "李四", "age": 30, "city": "北京"}
  3. 后续使用:将该字典连接到【字典取值】节点,提取具体字段。

Python 字典字面量示例

  • 文本:{'name': '王五', 'age': 25}
  • 输出:{"name": "王五", "age": 25}(键名被转为双引号,但值类型保留)

非字典内容包装示例

  • 文本:"hello"
  • 输出:{"_value": "hello"}

空字符串输入

  • 文本:"" → 输出 {}

⚙️ 引脚与参数说明

📥 输入引脚

引脚名称数据类型说明
文本STRING待解析的字符串。支持 JSON 对象字符串或 Python 字典字面量。

⚙️ 控件参数

控件名称类型说明
文本多行文本框手动输入字符串内容。当连线传入数据时,连线值优先。

📤 输出引脚

引脚名称数据类型说明
字典DICT解析后得到的字典对象。若无法解析,返回空字典{}

🔧 解析规则

节点按以下顺序尝试解析输入字符串:

  1. 标准 JSON 对象:使用 json.loads(),要求字符串为合法 JSON 格式(键必须双引号)。
  2. Python 字面量字典:使用 ast.literal_eval(),支持单引号、嵌套、布尔值、None 等。
  3. 如果上述两种方式都失败,返回空字典 {}
  4. 如果解析后不是字典类型(例如 JSON 数组、数字、字符串),则包装为 {"_value": 解析结果}

⚠️ 注意事项

  • 空字符串:返回空字典 {},不会报错。
  • JSON 格式要求:标准 JSON 要求键名必须使用双引号,字符串值也使用双引号。如果使用单引号,会被 Python 字面量方式兜底解析。
  • 安全性:使用 ast.literal_eval() 而非 eval(),不会执行任意代码。
  • 嵌套结构:支持嵌套字典和列表,会完整解析。
  • 数字与布尔值:解析后数字会成为 int/float 类型,true/false 转为 True/False
  • 包装行为:当输入不是字典时,会包装为 {"_value": 输入}。下游节点若期望纯字典,请注意这一行为。

💎 小贴士

  • 该节点与【字典转字符串】节点互为逆操作。
  • 如果输入字符串为 nulltruefalse 等 JSON 字面量,解析后会包装为 {"_value": None}{"_value": True} 等。
  • 需要解析 JSON 数组时,请使用【字符串转列表】节点。
  • 由于是纯数据节点,无需执行信号,可在数据流中直接使用。
助理
咨询
微信
微信客服扫码添加微信
社群
QQ群扫码加入Q群
电话
免费咨询热线0371-67993886
顶部