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

如何为一般属性值设置JSON验证模式

祁修诚
2023-03-14

我想使用模式验证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"}
    }
  }
}

谢谢你。

共有1个答案

云星波
2023-03-14

附加属性正是出于此目的:

{
 "type": "object",
 "additionalProperties": {
    "properties": {
      "bar1": {"type": "string"},
      "bar2": {"type": "string"}
    },
    "required": ["bar1", "bar2"],
    "additionalProperties": false
 }
}
 类似资料:
  • 问题内容: 例如,文件系统的架构,目录包含文件列表。该模式由文件规范,下一个子类型“ image”和另一个“ text”组成。 在底部是主目录架构。目录具有属性内容,该属性内容是应作为文件子类型的项目的数组。 基本上,我正在寻找一种告诉验证器从正在验证的json对象中的属性中查找“ $ ref”的值的方法。 示例json: “伪”模式 说明“图像”和“文本”定义包含在同一模式中,但它们可能在其他位

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

  • 问题内容: 如果我尝试声明属性,如下所示: …它不起作用,因为它不被视为“属性”,而仅仅是模型类的一个属性。不仅如此,而且我也禁止访问实际存在的“数量”属性。 那我该怎么办? 问题答案: 这就是我现在正在做的: 我将其建议为PR,因此我们无需在每个Model上都声明此构造函数,并且只需在模型中声明数组即可轻松应用… 更新 : 正如cmfolio指出的那样, 实际的ANSWER非常简单 : 只需覆盖

  • 问题内容: 嘿,用Class值设置bean属性的最佳方法是什么?关于XML配置。对于这样的豆: 问题答案: 只需注入类名,Spring就会为您将其转换为对象,例如

  • 使用JSON Schema 7执行验证 是否可以使用json模式进行以下验证。 object 中的“prop” 属性是属性中的依赖值。 即只有“properties.name”存在,那么该值可以添加到“prop”数组中 注意: “属性”数组可以具有{name:}类型的任何对象 “name”可以有任何可能的字符串,我事先不知道 我一直在查阅文件,但能找到一个答案。 Json Schema中还不支持此

  • 我有一个多模块Spring引导梯度项目。我在每个模块yml文件中都有指向数据库的属性:user、pass、URL。 这是一个可行的解决方案,但很难改变项目数据库。每次我想切换数据库用户或url,我必须改变10+yml文件。 如何避免这一点?