JSON 预解析修复器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/repair-malformed-json-before-parsing-downstream-automations-jsonrepair
技能介绍
解决什么具体问题
下游自动化流水线中,Agent 经常接收到 JSON 格式的中间产物。这些产物大多已经接近合法状态,但依然会触发解析器异常。典型现象包括尾随逗号(trailing commas)导致 JSON.parse 抛错,键名缺失引号,以及多行 JSON 片段被直接拼接在一起。这类问题往往出现在上游工具的动态拼接、日志导出或流式传输过程中。
核心能力与工作方式
该技能扮演的是预处理器角色。在数据进入 schema 校验或路由分发之前,它会调用底层的 jsonrepair 库对载荷进行标准化清洗,而不是修改业务设计本身。
其关键步骤包括:
- 规范化字面量:将上游代码中常见的 Python 风格常量
None、True和False替换为符合 JSON 规范的null、true和false。 - 转换流式数据:通过 Node.js 的文件系统模块(如
createReadStream与createWriteStream)进行流式处理,避免大文件造成内存溢出。 - 合并连续片段:将换行符分隔的 JSON 对象转换为合法且完整的 JSON 数组。
- 多环境兼容:底层库支持 ESM、CommonJS 和 UMD 格式构建,能够顺畅接入当前的 Node.js 或 CLI 脚本体系。
适用边界与注意点
此技能的定位是在进入解析前修复。它处理的是语法层面的畸形问题,而不是逻辑层面的数据错误。不要把它当作 schema 设计替代品;如果输入数据本身业务逻辑缺失或字段严重错位,单纯的修复无法挽救。此外,修复过程需要遵循上游库 jsonrepair 的行为约束,对于高度自定义且破坏严重的非标结构,可能需要额外的人工干预。
使用场景
- 处理日志文件中新行分隔的JSON片段,需要将其拼接为合法的完整JSON数组以进行后续处理。
- 接收到上游系统传来的带有Python布尔值常量的JSON数据,需将其标准化为规范的JSON格式。
- 清洗包含尾随逗号或缺失引号的近乎合法的JSON字符串,防止下游解析器抛出语法错误。
适合人员
- 后端工程师,需要在微服务数据流转过程中清洗格式不规范的JSON载荷以避免解析失败。
- 数据处理开发者,负责构建ETL流水线并需在入库前修复包含语法瑕疵的中间数据。
- 运维自动化工程师,需要处理系统日志导出中常见的非标准JSON片段以供监控面板解析。