无论如何,我需要在json模式中定义字典
I there anyway to define a dict in jsoncschema?
我正在尝试为object
类型定义模式。是否有一种方法可以允许任何属性名称,但将所有属性值限制为遵循某个模式。这样我可以允许任何key
,并确保所有values
具有相同的结构/类型。
additionalProperties
关键字可以是布尔值也可以是模式
如果它是一个模式,那么该模式必须应用于任何不匹配properties
或patternProperties
的属性。因此,如果键可以是任何值,那么模式就是:
{
"type": "object",
"additionalProperties": {"type": "integer"}
}
如果您想限制键,则需要使用patternProperties
—例如,仅使用小写字母:
{
"type": "object",
"patternProperties": {
"^[a-z]+$": {"type": "object"}
},
"additionalProperties": false
}
由于您希望允许任何属性名称,因此additionalProperties
是您的最佳解决方案。
看起来patternProperties
做了我想要的。
我可以直接输入
{
"type": "object",
"patternProperties": {
"*": { "type": "integer" }
},
"additionalProperties": false
}
允许任意键,并限制所有值为整数
相关文章:
- Webdriver.io pageObject模式-通过传递参数来定义元素选择器
- 引导模式:未定义
- 使用Plaid Link显示自定义用户名和密码模式对话框
- 可以'不要通过背景点击来取消自定义UI引导模式
- 为什么我的Mongoose DB模式之一可能是“;强制转换为未定义的“;当它的实例被放置在第二个模式中时
- 自定义 CSS 媒体打印查询中的模式高度和宽度
- 为什么在原型中定义属性被视为反模式
- 模块模式:函数未定义
- 自定义URL模式
- Safari限制?使用多种方法来显示多个自定义模式对话框
- 是否可以使用Graphql生成的模式作为流定义
- 在自定义框模式中滚动到顶部
- ReferenceError:utag在Firefox 45.0.1中并不是仅在私有模式下定义的
- javascript正则表达式模式定义
- 我可以在哪里放置我的Javascript模式定义
- 模式定义中期望的替换属性
- 正确的Javascript原型模式定义/示例
- 如何用这种模式定义内联getter
- 如何允许最终用户为此模式定义多个命名空间扩展级别
- Meteor从模式定义的表单中获取数据