分享
DSPX 解析
输入“/”快速插入内容
DSPX 解析
用户3832
用户3832
2025年11月19日修改
目标
qastool 的声明式 JSON 解析无法实现复杂的校验逻辑,也无法定位错误,因此需要对 DSPX 解析进行重构。
需要依据 DSPX schema,实现从 JSON 数据到 opendspx 结构的序列化/反序列化工具。
•
支持启用/禁用“错误”检查以及启用/禁用“警告”检查
•
支持启用/禁用 fast-fail
•
支持部分解析
错误处理
严重错误
表示无法解析出 DSPX 结构。
JSON 解析错误(0x0001)(仅反序列化)
无法解析 JSON 数据。
无效的 JSON 根(0x0002)(仅反序列化)
未知的文件版本(0x0003)
指定的文件版本无法被识别,或者缺少
version
字段。
错误
表示解析出的 DSPX 结构不完整或者有问题。如果数据不包含错误,则应该完全符合 DSPX schema 的规定。如果 fast-fail 已禁用,解析器应该在遇到错误时继续处理,并仍然返回一个 DSPX 结构。
JSON 数据类型错误(0x1001)(仅反序列化)
属性的数据类型错误。
元素类型错误(0x1002)(仅反序列化)
某些情况下需要依据 type 字段判断元素类型(例如:音频/格式剪辑,锚点/自由型参数曲线)。在这种情况下,如果无法识别 type 字段,应该报此错误(而不是违反枚举值约束)。
违反范围约束(0x1101)
数值类型的属性不满足数据范围约束。