Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JSON使用模式验证额外参数_Json_Jsonschema - Fatal编程技术网

JSON使用模式验证额外参数

JSON使用模式验证额外参数,json,jsonschema,Json,Jsonschema,我想通过json模式验证json输入。正面案例适用于预期对象和属性。 但是我想针对额外的对象进行验证,这些对象是模式中没有提到的参数 如果您只想在json对象中拥有一组特定的属性并拒绝其他属性,那么如果在json中检测到垃圾数据,则验证基本上失败: 确保所需的属性在属性和模式属性中具有匹配的架构 将附加属性定义为false: { "type": "object", "properties": { "p": {}, "q": {} }, "additionalProper

我想通过json模式验证json输入。正面案例适用于预期对象和属性。 但是我想针对额外的对象进行验证,这些对象是模式中没有提到的参数


如果您只想在json对象中拥有一组特定的属性并拒绝其他属性,那么如果在json中检测到垃圾数据,则验证基本上失败:

  • 确保所需的属性在
    属性
    模式属性
    中具有匹配的架构
  • 附加属性定义为
    false

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

只允许属性
p
q
存在于对象实例中。

您可以发布一些您尝试过的东西吗?{“类型”:“对象”,“必需的”:true,“属性”:{“名称”:{“类型”:“对象”,“id”:“构建”,“必需的”:true,“属性”:{“地址”:{“类型”:“字符串”,“id”:“作业名称”,“必需的”:true},“电子邮件”:{“类型”:“字符串”,“id”:“发布区域”,“必需的”:true}}}{“name”:{“address”:“x”,“email”:“y”,“additional”:“z”}}}我希望将针对模式的请求无效为“additional”是该字典中的一个额外键。基本上,严格的字典键您的模式是什么?您的数据是什么?预期的结果是什么等?是否可以(比如)为给定的模式全局启用此选项?@默认情况下,允许使用额外的属性