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

JSON模式中的自定义属性

沈俊明
2023-03-14

使用自定义属性扩展JSON模式有效吗?

我问这个问题的原因是,因为我使用一个模式来为该模式描述的JSON呈现一个表单(模式中描述的每个属性都用作带有标签和某种输入的表单元素)。

能够使用一些我主要用于表单呈现的属性来扩展模式是很有用的,但是当使用模式来验证JSON对象本身时,就会忽略这些属性。

对于JSON对象,我可以有两种不同的表示形式(一种是模式,另一种是类似模式的对象,它具有自定义属性,我只用于创建表单,但是如果可以将两者结合在一起,维护起来会更容易)。

不幸的是,Google没有很大的帮助,我也没有大量的JSON模式使用经验,所以如果我遗漏了一些明显的东西,请道歉。

编辑1:
示例架构代码段:

{
    "title": "Example Schema",
    "type": "object",
    "properties": {
        "firstName": {
            "type": "string",
            "CUSTOM_PROPERTY": "CUSTOM_VALUE"
        }
    }
}

注意,上面只是一个片段,因此没有标题$schema等。

共有1个答案

太叔弘壮
2023-03-14

(如果是有效的JSON),验证器很可能会忽略您的自定义属性。但是您要使用什么验证器呢?检查它与特定的验证器。

这里有一些在线验证器要测试:

  • http://www.jsonschemavalidator.net/
  • https://json-schema-validator.herokuapp.com/
  • http://jsonschemalint.com/#/version/draft-05/markup/json

此外,您还可以扩展JSON模式,请参见https://json-schema.org/draft/2019-09/json-schema-core.html#RFC.Section.6.5

 类似资料:
  • 问题内容: 我有一个JSON模式 我要在children属性中表示的是,它是具有相同精确模式的对象数组。这是描述它的正确方法吗? 问题答案: 使用您需要参考的架构 参见此处:http : //json-schema.org/latest/json-schema-core.html#anchor30

  • 我希望对从文件加载的JSON中的字段执行自定义断言。 我知道我们有模糊匹配,但我想执行一些更自定义的操作,例如,有一个函数将日期解析为LocalDateTime: } NB这是专门用于从文件加载的JSON,而不是在特性文件本身中指定的JSON上(例如,这里的isValidTime()是:https://github.com/intuit/karate/blob/master/karate-juni

  • 使用Jackson(最新版本可以)为JAVA bean/POJO类生成一个JSON模式,这样它就可以正确地包含嵌套对象的结构,并且还希望向嵌套POJO添加自定义属性(在我的例子中,希望为每个嵌套POJO参数添加一个完全分类的classname属性)。 用例- 比如说,我有一个Person类,如下所示。我用这个人作为我某个操作的参数。- 这个问题肯定与此相关--如何使用jackson遍历生成的jso

  • 我想知道我是否可以定义一个JSON模式(草案4),它至少需要对象的许多属性中的一个。我已经知道、和之一,但就是不知道如何以我想要的方式使用它们。 下面是一些JSON示例来说明:

  • 我尝试使用swagger来描述JSON API。到目前为止,它看起来不错,但我无法弄清楚如何使用anyOf结构在JSON答案中定义不同对象类型的数组。 以下JSOn模式是有效的,它应该描述一组文章和视频JSON对象: 有没有可能在摇摆不定中使这项工作发挥作用?