验证与序列化
验证是严格的:未知字段、重复 JSON 键、非规范编码、不支持的版本和不匹配的公钥都会被拒绝。序列化会输出唯一的规范 JSON 表示。
- TypeScript
- Go
const document = validateDocument(input);
const canonical = serializeDocument(document);
TypeScript 在边界接受 unknown,并返回规范化后的 Document。
if err := keyhold.Validate(document); err != nil { return err }
canonical, err := keyhold.Serialize(document)
Go 验证已经解码的 Document,通过 error 报告失败。
共享字段和不变量请参阅文档格式。