【问题标题】:How to represent sum/union types in in json schema如何在 json 模式中表示 sum/union 类型
【发布时间】:2016-05-28 18:51:13
【问题描述】:

我正在尝试使用 json-schema 记录 JSON 的现有使用。对于对象属性之一,系统允许以下两种可能性。

要么

{
    "tracking_number" : 123
}

或者

{
    "tracking_number" : [ 123, 124, 125 ]
}

如何使用 json 模式来表达这一点?

【问题讨论】:

    标签: json jsonschema


    【解决方案1】:

    使用anyOf 断言该属性必须符合一个或另一个架构。

    {
        "type": "object",
        "properties": {
            "tracking_number": {
                "anyOf": [
                    { "$ref": "#/definitions/tracking_number" },
                    { "type": "array", "items": { "$ref": "#/definitions/tracking_number" }
                ]
        },
        "definitions": {
            "tracking_number": { "type": "integer" }
        }
    }
    

    【讨论】:

    猜你喜欢
    • 2020-07-28
    • 2012-06-12
    • 2021-04-30
    • 2021-12-31
    • 2016-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多