Typescript JSON 模式对象的类型

ben*_*o_h 2 javascript json typescript

打字稿中是否有与 JSON 模式对象关联的特殊类型?我的班级有一个方法可以检查其成员是否满足动态 json 模式schema,现在我是这样做的,

<!-- language: typescript -->

verifySchema(schema: object): void {
    // do verification
}
Run Code Online (Sandbox Code Playgroud)

例如在哪里

<!-- 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."
    },
...
}
Run Code Online (Sandbox Code Playgroud)

但是为了保持通用性,我想允许检查任意的 json 模式,而不仅仅是这个特定的模式。是否可以schema: object为 JSON 模式对象设置或有最佳实践?

Ric*_*dad 5

您可以使用@types/json-schema

然后:

import {JSONSchema7} from 'json-schema';

verifySchema(schema: JSONSchema7): void {
    // do verification
}
Run Code Online (Sandbox Code Playgroud)

  • “这个存储库没有......实现最新版本的 JSON Schema”。看来这个仓库今后不会是最新的。您可以通过查看其发行说明来了解 JSON Schema 的最新更改是否与您的用例相关:https://json-schema.org/specification.html#migration-from-older-drafts (4认同)