是否可以设置一个JSON模式,该模式仍然允许additionalProperties,但如果存在一个非常特定的属性名,那么not是否匹配?换句话说,我需要知道是否有可能与required声明完全相反.

Schema:

{
    "type": "object",
    "properties": {
        "x": { "type": "integer" }
    },
    "required": [ "x" ],
    "ban": [ "z" ] // possible?
}

匹配:

{ "x": 123 }

匹配:

{ "x": 123, "y": 456 }

Do not match:

{ "x": 123, "y": 456, "z": 789 }

推荐答案

你想做的事情可以通过使用not关键字来实现.如果not模式验证,则父模式将不会验证.

{
    "type": "object",
    "properties": {
        "x": { "type": "integer" }
    },
    "required": [ "x" ],
    "not": { "required": [ "z" ] }
}

Json相关问答推荐

需要有关在Ffltter应用程序中解码JSON的帮助;未处理的异常:类型不是类型转换中类型的子类型

重构JOLT代码以获得预期输出

JOLT转换以基于对象属性过滤JSON数组

用 Jolt 替换 JSON 中的值

将 json 转换为 jsonb 安全吗?

Python 将 struct 化文本转换和筛选为对象

Jolt 不打印任何东西

从 json 数组中仅提取一个值导致 vb6

使用 JQ 从文件中删除重复的 JSON 块

在 Flutter 中将对象转换为可编码对象失败

如何使用 Serde 使用顶级数组反序列化 JSON?

Spring MVC 4:application/json内容类型设置不正确

如何自动修复无效的 JSON 字符串?

如何在已声明的 JSON 对象中添加键值对

如何在 Django JSONField 数据上聚合(最小/最大等)?

从 JSON 创建 Hashtable

未调用 npm package.json 脚本

Microsoft.Net.Http 与 Microsoft.AspNet.WebApi.Client

如何使用 Gson 将 JSONArray 转换为 List?

使用 JSON.NET 序列化/反序列化对象字典