SuperAPI AI 工具集

structural-defensive-parsing

编程与开发

查看项目

更新于 10-17 16:17

技能介绍

用途

该技能面向消费非官方或 unstable API 的解析层开发。这类 API 的响应本质上是某个 UI 的渲染结果,而不是稳定契约:不同行类型按不同布局排列,布局可能随时变化。技能的核心原则是让载荷自身声明字段类型,即通过链接目标、文本正则等结构线索判断每个字段的语义,而不是询问“这是第几列”。

主要能力

技能提供了一套完整的防御式解析模式与陷阱清单:

  • 结构化分类:示例代码通过 classifyRun 和 findColumns 演示如何依据链接 ID 前缀、目标类型、文本正则(时长、年份、计数)对列进行分类,并用可空索引建模字段缺失。
  • 回退顺序:定义了声明标记优先、首个不可分类列次之、最后渠道式列兜底的明确回退链,并要求记录每个回退的理由。
  • 数据丢失防护:指出 mapNotNull 过滤是静默数据丢失的常见来源,推荐对行数比较并记录日志。
  • 复合字符串解析:强调从稳定端(如 H:MM:SS 的末尾秒)开始反向解析,并提醒修复所有重复副本。
  • 文本启发式检查防护:计数解析器需在两端设防,避免将含拉丁字母的名称或纯 ASCII 无空格令牌误判为数字。
  • 不可见字符处理:双向控制符、不换行空格、全角标点应在模式中写作 \uXXXX 转义。

使用方式

技能以 Kotlin 代码片段和检查清单形式呈现,可应用于解析层代码的编写与审查。示例中的具体字段和常量已替换为中立名称,但分支结构、回退顺序和文本检查顺序保持不变。技能附带三条 grep 验证命令,用于普查 mapNotNull 的静默丢失点、数字索引的位置猜测、以及 * 60 + 形式的左到右时长解析。

适用场景

  • 消费非官方、不稳定或 UI 驱动的 API 响应。
  • 解析层出现列位置漂移、行类型混合、部分字段缺失的场景。
  • 需要对现有解析代码进行数据丢失和位置猜测审查。
  • 编写或评审复合字符串(时长、编码声明等)解析逻辑。

限制

该技能内容为方法说明与代码模式,未提供完整的可运行库或安装步骤,需根据自身代码结构适配。示例仅涉及 Kotlin 语言,其他语言需自行迁移思路。技能未说明性能开销或兼容性范围,这些信息暂未提供。