json - 如何为常规属性值设置 JSON 验证模式
问题描述
我想使用模式验证 JSON(目前草案 6,但如果需要我们可以升级)。我的案例是一个具有属性的对象,其值都具有相同的结构,例如:
{
"blueFoo": {
"bar1": "someValue",
"bar2": "differentValue"
},
"redFoo": {
"bar1": "someOtherValue",
"bar2": "LoremYpsum"
},
"purpleFoo": {
"bar1": "anotherString",
"bar2": "nextValue"
},
...
}
有没有办法为一般属性值设置验证模式?就像是:
{
"type": "object",
"propertyValue": {
"type": "object",
"required": ["bar1", "bar2"],
"additionalProperties": false,
"properties": {
"bar1": {"type": "string"},
"bar2": {"type": "string"}
}
}
}
谢谢你。
解决方案
additionalProperties
正是为了这个目的:
{
"type": "object",
"additionalProperties": {
"properties": {
"bar1": {"type": "string"},
"bar2": {"type": "string"}
},
"required": ["bar1", "bar2"],
"additionalProperties": false
}
}
推荐阅读
- android - 自适应卡片未在 Teams 移动应用上呈现
- sql-server - 为什么运算符 AND 在 tsql 中返回错误,这在一般 sql 中似乎是有效的
- azure - 将应用程序安全组分配(设置)到 Azure 中的规模集
- r - 加密您在 R 中创建的文件
- methods - 对可变结构参数的元组赋值
- python - 如何检查 DataFrame 列值是否存在于多个列表中,如果不存在,则填充另一列?
- git - Gitignore 配置 - 如何让 git 感知
- python - collections.Counter,有没有办法避免添加字符串值?
- csv - 将 csv 文件行提取为单独的 .txt 文件
- javascript - 书签不适用于 ios 或 android 浏览器