【问题标题】:JSON validate extra parameter using schemaJSON使用模式验证额外参数
【发布时间】:2013-01-23 19:59:30
【问题描述】:

我想通过 json 模式验证 json 输入。正面案例适用于预期的对象和属性。 但我想验证额外的对象,即架构中未提及的参数。

如果在 json 中检测到垃圾数据,则基本上验证失败

【问题讨论】:

  • 你能发布一些你尝试过的东西吗?
  • { "type":"object", "required":true, "properties":{ "name": { "type":"object", "id": "build", "必需”:true,“属性”:{“地址”:{“类型”:“字符串”,“id”:“job_name”,“必需”:true},“电子邮件”:{“类型”:“字符串” , "id": "publishing_area", "required":true } } } } } {"name":{"address":"x","email":"y","additional":"z"}}
  • 我希望请求对架构无效,因为“附加”是该字典中的一个额外键。基本上,严格的字典键
  • 你的架构是什么?你的数据是什么?预期的结果是什么?

标签: json jsonschema


【解决方案1】:

如果您只想在 JSON 对象中拥有某组属性而拒绝其他属性:

  • 确保您想要的属性在propertiespatternProperties 中具有匹配的架构,
  • additionalProperties 定义为false

    {
        "type": "object",
        "properties": { "p": {}, "q": {} },
        "additionalProperties": false
    }
    

将只允许属性pq 存在于对象实例中。

【讨论】:

  • 是否可以为给定架构全局启用此功能?
  • @Hyperbole 默认允许附加属性
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-12
  • 2019-12-14
  • 2022-01-02
  • 1970-01-01
  • 2015-07-18
相关资源
最近更新 更多