【发布时间】:2020-02-05 12:38:41
【问题描述】:
打字稿中是否有与 JSON 模式对象关联的特殊类型?我的班级有一个方法可以检查其成员是否满足动态 json 架构 schema,现在我这样做了,
<!-- language: typescript -->
verifySchema(schema: object): void {
// do verification
}
例如在哪里
<!-- language: typescript -->
const schema = {
title: 'blabla',
description: 'Basic schema',
type: 'object',
properties: {
"firstName": {
"type": "string",
"description": "The person's first name."
},
"lastName": {
"type": "string",
"description": "The person's last name."
},
...
}
但为了保持通用性,我想允许检查任意 json 模式,而不仅仅是这个特定的模式。是否可以设置 schema: object 或者是否有 JSON 模式对象的最佳实践?
【问题讨论】:
-
如果你知道schema的形状,你可以创建一个接口,否则,我看不到问题
-
我的建议是使用已经尝试和测试过的带有 TS 类型的架构验证器,而不是自己滚动。
-
我使用了经过测试的模式验证器,但我想像上面一样将要测试的对象传递给它
标签: javascript json typescript