【问题标题】:Typescript Type of JSON schema objectJSON模式对象的Typescript类型
【发布时间】: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


【解决方案1】:

您可以使用@types/json-schema

然后:

import {JSONSchema7} from 'json-schema';

verifySchema(schema: JSONSchema7): void {
    // do verification
}

【讨论】:

猜你喜欢
  • 2012-10-13
  • 2018-07-14
  • 2016-10-14
  • 2020-07-16
  • 2022-11-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多