如何在JSON模式中使用“任意”类型?

时间:2019-07-18 01:33:27

标签: javascript node.js jsonschema

我正在看这个

https://json-schema.org/understanding-json-schema/reference/type.html

我有一个带有函数属性的对象,但是我不想将AdditionalProperties设置为true。所以我想做类似的事情:

      "properties": {
        "getHostNameSync": {
          "type": "any",   // << any
          "required": false
        }
      }

但它表示我的架构定义无效。有没有办法包含函数属性?

1 个答案:

答案 0 :(得分:2)

使用JSON模式,您无需必须进行指定。语法是声明性的,并且添加限制。因此,如果您不希望限制所允许的值类型,请不要使用type关键字。

  "properties": {
    "getHostNameSync": {}
  }

由于没有声明任何限制,因此getHostNameSync属性实际上可以是任何东西。

注意 如果您使用的是草案6或更高版本,则可以使用true代替{}并获得相同的效果。