AI 响应解析
AI Response Parsing
清洗和解析LLM输出中格式不稳定的JSON/结构化数据
子问题
1.Markdown代码围栏移除
2.JSON边界检测与提取
3.类型归一化(数字ID转字符串)
4.解析失败的fallback策略
5.深层类型不匹配(对象/数组字段应为字符串)
6.内联解析代码大量重复的治理
7.中文时间描述到标准ID的映射归一化
各项目的解法1 solutions
Signals
横向对比
| 维度 | moyin-creator |
|---|---|
| 清洗架构 | 四层管道:围栏移除→边界提取→安全解析→类型修正 |
| 集中化程度 | 中心工具库 + 12 文件内联重复的双轨模式 |
| 类型修正 | ensureString 递归处理 object/array→string 深度类型转换 |
| fallback策略 | 泛型 safeParseJson<T>(str, fallback) 调用方决定降级值 |
| 边界检测 | indexOf/lastIndexOf 贪婪匹配 + extractJson 正则互补 |
| ID归一化 | normalizeIds 将数字 ID 统一转字符串 |
最佳实践
1.先清洗再解析的两阶段处理
2.提供泛型fallback避免运行时崩溃
3.支持对象和数组两种JSON结构提取
4.ensureString 递归处理 object→键值对字符串、array→逗号拼接
5.对象优先于数组的边界检测策略(firstBrace < firstBracket)
6.cleanArray 支持可选类型守卫实现运行时类型安全