Json-Schema:多个相同类型的元素

奥勒·阿尔伯斯(Ole Albers)

我尝试为我的数据编写一个json模式。数据看起来像这样:

{
    "gold": [
        {
            "id": "goldOne",
            "name": "firstGold",
            "title": "Gold 1 earned"
        },
        {
            "id": "goldTwo",
            "name": "secondGold",
            "title": "Gold 2 earned"
        }
    ],
    "silver": [
        {
            "id": "silberOne",
            "name": "firstSilver",
            "title": "Silver!"
        }
    ],
    "bronze": [
        {
            "id": "bronzeOne",
            "name": "firstBronze",
            "title": "Bronze!"
        }
    ]
}

我已经为“金”数组创建了架构:

{
    "$schema": "http://json-schema.org/draft-04/schema#",   
    "title" : "trophy descriptions",
    "type": "object",
    "properties": {
        gold: {
            "description": "gold trophies",
            "type":"array",
            "items": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "description": "unique identifier"
                    },
                    "name": {
                        "type": "string",
                        "description": "label of trophy"
                    },
                    "title": {
                        "type": "string",
                        "description": "description of trophy"
                    }
                }
            }
        }
    }
}

因为“银”和“青铜”数组包含的元素类型与“金”的类型完全相同,所以我想知道是否必须写下三遍相同的内容,还是只能引用一个描述?

茹伊扎朗古伦

是的,您可以通过$ ref关键字定义和引用架构:

{
    "$schema" : "http://json-schema.org/draft-04/schema#",
    "title" : "trophy descriptions",
    "type" : "object",
    "properties" : {
        "gold" : {
            "$ref" : "#/definitions/medal"
        },
        "silver" : {
            "$ref" : "#/definitions/medal"
        },
        "bronze" : {
            "$ref" : "#/definitions/medal"
        }

    },

    "definitions" : {
        "medal" : {
            "type" : "array"
            // and whatever you want here
        }
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Json-Schema:多个相同类型的元素

来自分类Dev

C#JSON-序列化具有相同属性的不同类型的多个对象

来自分类Dev

具有相同类型但名称不同的多个元素?

来自分类Dev

相同类型的多个@ManagedProperty

来自分类Dev

相同类型的多个@ManagedProperty

来自分类Dev

类型提示多个相同类型的参数?

来自分类常见问题

与POJO + Jackson具有相同名称和不同类型的anyOf字段的Json模式

来自分类Dev

如何在Flutter中使用相同类型的嵌套对象映射json?

来自分类Dev

Autofac解析相同类型的多个实例

来自分类Dev

注册多个相同类型的资源实例

来自分类Dev

多个相同类型的 Spring Components\Beans

来自分类Dev

接受不同类型的JSON数组输入?

来自分类Dev

不同类型数组的JSON模式

来自分类Dev

解析不同类型的 json 响应

来自分类Dev

Json Schema:根据使用类型验证类型

来自分类Dev

使用Angular的jqlite选择相同类型的元素

来自分类Dev

使用XPath查找嵌套元素(相同类型)

来自分类Dev

如何以html格式处理相同类型的多个输入?

来自分类Dev

注入具有多个相同类型参数的构造函数

来自分类Dev

处理相同类型的Google Cloud Messaging Server的多个响应

来自分类Dev

在Spring中需要多个相同类型的bean

来自分类Dev

相同类型的多个参数的编译时方法调用验证

来自分类Dev

在MetadataProvider中获取相同类型的多个属性

来自分类Dev

实体框架中相同类型的多个集合

来自分类Dev

加载相同类型的ServiceStack OrmLite多个引用

来自分类Dev

在同一视图中创建多个相同类型的对象

来自分类Dev

声明具有相同类型的多个TypeScript变量

来自分类Dev

Spring Framework-相同类型的多个ModelAttributes

来自分类Dev

相同类型的多个可选参数的构造方法选择

Related 相关文章

  1. 1

    Json-Schema:多个相同类型的元素

  2. 2

    C#JSON-序列化具有相同属性的不同类型的多个对象

  3. 3

    具有相同类型但名称不同的多个元素?

  4. 4

    相同类型的多个@ManagedProperty

  5. 5

    相同类型的多个@ManagedProperty

  6. 6

    类型提示多个相同类型的参数?

  7. 7

    与POJO + Jackson具有相同名称和不同类型的anyOf字段的Json模式

  8. 8

    如何在Flutter中使用相同类型的嵌套对象映射json?

  9. 9

    Autofac解析相同类型的多个实例

  10. 10

    注册多个相同类型的资源实例

  11. 11

    多个相同类型的 Spring Components\Beans

  12. 12

    接受不同类型的JSON数组输入?

  13. 13

    不同类型数组的JSON模式

  14. 14

    解析不同类型的 json 响应

  15. 15

    Json Schema:根据使用类型验证类型

  16. 16

    使用Angular的jqlite选择相同类型的元素

  17. 17

    使用XPath查找嵌套元素(相同类型)

  18. 18

    如何以html格式处理相同类型的多个输入?

  19. 19

    注入具有多个相同类型参数的构造函数

  20. 20

    处理相同类型的Google Cloud Messaging Server的多个响应

  21. 21

    在Spring中需要多个相同类型的bean

  22. 22

    相同类型的多个参数的编译时方法调用验证

  23. 23

    在MetadataProvider中获取相同类型的多个属性

  24. 24

    实体框架中相同类型的多个集合

  25. 25

    加载相同类型的ServiceStack OrmLite多个引用

  26. 26

    在同一视图中创建多个相同类型的对象

  27. 27

    声明具有相同类型的多个TypeScript变量

  28. 28

    Spring Framework-相同类型的多个ModelAttributes

  29. 29

    相同类型的多个可选参数的构造方法选择

热门标签

归档