跳转至

To JSON 数据类型转 JSON 与畸形语法自修复节点

利用 json-repair 容错算法将各种传入数据安全转换并规整为标准 JSON 格式。

节点核心功能 (Description)

To JSON 节点支持将多种异构数据类型(如 Python 字典、非规范文本、列表、标量数值等)稳健转换为标准 JSON 格式。针对大语言模型(LLM)输出中常见的尾随逗号、缺失引号、非标准单引号等畸形残缺 JSON 文本,该节点内嵌了智能 json-repair 语法修复引擎,能实现自动补全与自愈解析。

配置与参数规范 (Parameters)

输入插槽 (Input Parameters)

参数名称 (Parameter) 数据类型 (Type) 语义说明 (Description) 默认值 (Default)
from any 待转换并规整为 JSON 的源数据载荷。 {}

输出引脚 (Output Parameters)

输出名称 (Parameter) 数据类型 (Type) 语义说明 (Description)
output json 解析、修复并序列化完成的标准 JSON 数据。

核心特性解析 (Features)

  • 集成智能修复引擎 (JSON Repair):内置 json_repair.repair_json(),可无感自动修复 LLM 返回的残缺不全、带格式瑕疵的 JSON 文本;
  • 多类型泛型支持 (Multiple Input Types):智能识别原生 Dict、List、String 及基础标量,分流适配;
  • 优雅的容错回退机制 (Error Handling):当遇到极端不可恢复的乱码语法时,提供平稳的降级保底输出,绝不抛出异常导致整条工作流崩溃;
  • 工业级数据规整 (Robust Conversion):统一异构接口输入,为下游结构化处理提供标准基准。

转换示例 (Examples)

字典转 JSON (Dictionary to JSON)

# 输入: {"name": "John", "age": 30, "active": True}
# 输出: {"name": "John", "age": 30, "active": true}

畸形残缺 JSON 自动修复 (Malformed JSON Repair)

# 输入: '{"name": "John", age: 30, "city": "New York"}'  # age 键缺失双引号
# 输出: {"name": "John", "age": 30, "city": "New York"}  # 自动补全引号并成功解析

标准 JSON 字符串原样解析 (Regular JSON String)

# 输入: '{"user": {"name": "Alice", "active": true}}'
# 输出: {"user": {"name": "Alice", "active": true}}

列表数组转换 (List to JSON)

# 输入: [1, 2, 3, "four", {"nested": "value"}]
# 输出: [1, 2, 3, "four", {"nested": "value"}]

基础标量数据类型转换 (Other Data Types)

# 输入: "simple string"
# 输出: "simple string"

# 输入: 42
# 输出: 42

# 输入: True
# 输出: true

输入类型处理逻辑 (Input Type Handling)

字典对象 (Dictionary Input)

  • 处理行为:若输入已是原生 Python 字典,直接透传引用并保持原有结构。
  • 示例:{"key": "value"} → {"key": "value"}

字符串文本 (String Input)

  • 处理行为:首先调用 json-repair 进行语法纠错推导;若修复成功则输出结构化对象,若本身已合规或修复受阻则平稳降级至常规解析。
  • 示例:'{"name": "John", age: 30}' → {"name": "John", "age": 30}

其他类型 (Other Types)

  • 处理行为:先将对象尝试进行字符串化表征,再推导提取 JSON 结构;若完全无法识别则回退保底为空字典 {}。
  • 示例:[1, 2, 3] → [1, 2, 3]

典型适用场景 (Use Cases)

  • 数据标准化流转 (Data Standardization):将多种杂乱上游数据规整为统一规范的 JSON 数据流;
  • RESTful API 适配对接:为调用下游第三方 Webhook 或外部接口打包准备标准的 JSON 请求体;
  • 大模型响应文本清洗 (Data Cleaning):专治 LLM 不受控生成的破损、漏引号、漏闭合括号的 JSON 提取;
  • 工作流配置解析:动态接收并解析多种格式的运行时配置文件。