不同类型数组的JSON模式

之中

我有一个非常基本的架构,表现有些奇怪。

{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": 
{
    "$out": 
    {
        "type": "array",
        "minItems": 1,
        "items": {
            "oneOf": [
                { "type": "string" },
                { "$ref": "#/definitions/alias" }
            ]
        }
    }
},
"definitions": 
{
    "alias": 
    {
        "properties": 
        {
            "$source": { "type": "string" },
            "$alias": { "type": "string" }
        },
        "required": [ "$source", "$alias" ],
        "additionalProperties": false
    }
}

}

如果我使用以下JSON进行测试:

{
    "$out": [
        "12w",
        { "$source": "WH.Code", "$alias": "WarehouseCode"}
    ] 
}

它失败(样本)说数组中的字符串元素再次有效,而不是一个模式。如果我仅使用{“ type”:“ string”}来更改对'alias'的引用,它将按预期工作。我究竟做错了什么?

提前致谢。

杰森·德罗斯(Jason Desrosiers)

所有你使用关键字(propertiesrequiredadditionalProperties)只有当值是一个对象适用。因为没有要求值是对象的东西,所以不是对象的任何东西都会通过。仅当对象是对象时才考虑对象关键字。

有多种方法可以使模式起作用,但是最直接的方法是将其添加"type": "object"alias模式中。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

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

来自分类Dev

不同类型的数组

来自分类Dev

不同类型的数组声明

来自分类Dev

不同类型的接口实例的数组

来自分类Dev

从函数返回不同类型的数组内容

来自分类Dev

C ++遍历不同类型的数组

来自分类Dev

两种不同类型的数组

来自分类Dev

具有不同类型元素的数组

来自分类Dev

Swift中不同类型的多维数组

来自分类Dev

Javascript中不同类型的数组?

来自分类Dev

不同类型的接口实例的数组

来自分类Dev

如何返回不同类型的数组?

来自分类Dev

PHP 数组与不同类型的键合并

来自分类常见问题

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

来自分类Dev

设计模式,用于处理不同类型的指令以进行不同类型的方法调用

来自分类Dev

解析不同类型的 json 响应

来自分类Dev

反序列化具有不同类型的JSON数组

来自分类Dev

反序列化包含不同类型对象的JSON数组

来自分类Dev

我可以定义不同类型的数组类型吗?

来自分类Dev

数组中不同类型的对象并获取每个对象的类型

来自分类Dev

不同类型Seq上的Scala模式匹配

来自分类Dev

不同类型Seq上的Scala模式匹配

来自分类Dev

单例设计模式和不同类型之间的差异?

来自分类Dev

不同类型的同一臂上的模式匹配

来自分类Dev

朱莉娅:具有不同类型的数组的数组

来自分类Dev

将不同类型的枚举值的数组传递给函数

来自分类Dev

在Python中将不同类型的数组作为值的字典

来自分类Dev

将数组转换为不同类型(lodash / js)

来自分类Dev

将多维数组元素转换为不同类型