网站搜索

如何在 Typescript 中对 JSON 进行反序列化并进行验证?


假设我需要从一个 JSON 字符串 const str={"x":0,"a":""} 在 Typescript 中创建一个 interface A { x: number, a: string} 的实例。

如果 JSON 不包含所需类型的必需属性 x 和 a,我希望能够得到一个异常,例如 缺少属性 "a" 或 属性 "x" 不是数字。

我可以将 JSON 字符串解析为对象 const obj=JSON.parse(str),并手动检查 obj 是否包含属性 x 和 a。我想知道是否有一种 更好 的方法,可以从 JSON 创建 A 的实例,而 无需 手动验证输入 JSON 的属性及其类型。

将 JSON 反序列化为带验证的接口实例的最简单方法是什么?