当前位置: 首页 > 知识库问答 >
问题:

针对具有Ban未知属性的模式验证JSON

奚修伟
2023-03-14

在C#中是否有任何验证器可以使用,即使没有additionalproperties false指令,也会使额外的属性失败?

共有1个答案

吴嘉禧
2023-03-14

我无法控制架构,它不包含additionalProperties,我无法添加它。

您可以编写自己的模式,即“在这里使用这个模式:”,然后添加额外的关键字。注意,这需要一个支持2019-09规范草案的实现:

{
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "$ref": "... uri to the schema you wish to modify",
  "unevaluatedProperties": false
}

“UnevaluatedProperties”是本草案中的一个新关键字,它考虑了在同一数据位置计算的其他架构--任何以前没有用“Properties”、“AdditionalProperties”、“PatternProperties”或“UnevaluatedProperties”关键字提到的属性都将在这里用这个“UnevaluatedProperties”关键字来考虑。由于其值为false,因此将不允许任何此类匹配属性。

 类似资料:
  • 问题内容: 我的错误输出: 无效的配置对象。已使用与API模式不匹配的配置对象初始化Webpack。-configuration.module具有未知的属性“ loaders”。这些属性是有效的:对象{exprContextCritical?,exprContextRecursive?,exprContextRegExp?,exprContextRequest?,noParse ?、规则?,def

  • 我一直在努力使我的JSON模式正确。我有一个属性,我必须根据它来确定所需的属性。下面是我的示例,我希望通过验证,因为不存在。 这是我希望通过验证的JSON 类似地,如果是,那么上述两个JSON的验证都应该通过。

  • 我试图根据内部引用另一个XSD的XSD验证XML(使用include语句)。 作为, 现在,当根据xsd(Schema1.xsd)验证我的XML时,如下所示: 我得到一个错误,“cvc-datatype-valid.1.2.1:'true'不是'boolean'的有效值。” 这是针对schema1.xsd引用的schema2.xsd中定义的元素。 如果我做错了什么,请告诉我。

  • 问题内容: 我有一个XML文件,并且有一个XML模式。我想针对该架构验证文件,并检查其是否符合该架构。我正在使用python,但是如果python中没有这样有用的库,则可以使用任何语言。 我在这里最好的选择是什么?我会担心如何快速启动和运行它。 问题答案: 绝对可以。 使用预定义的架构定义,加载文件并捕获任何XML架构错误: 关于编码的注意事项 如果模式文件包含带有编码(例如)的xml标记,则上面

  • 我试图根据Python中的JSON模式验证TSV文件的行。下面是该模式的一个示例: TSV文件如下所示: null