oneOf对象的Json Schema示例

斯坦米罗夫

我试图通过构建验证两种不同对象类型的架构来弄清oneOf的工作原理。例如,一个人(名字,姓氏,运动)和车辆(类型,费用)。

以下是一些示例对象:

{"firstName":"John", "lastName":"Doe", "sport": "football"}

{"vehicle":"car", "price":20000}

问题是我做错了什么以及如何解决。这是模式:

{
    "description": "schema validating people and vehicles", 
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type": "object",
    "required": [ "oneOf" ],
    "properties": { "oneOf": [
        {
            "firstName": {"type": "string"}, 
            "lastName": {"type": "string"}, 
            "sport": {"type": "string"}
        }, 
        {
            "vehicle": {"type": "string"}, 
            "price":{"type": "integer"} 
        }
     ]
   }
}

当我尝试在此解析器中验证它时:

https://json-schema-validator.herokuapp.com/

我收到以下错误:

   [ {
  "level" : "fatal",
  "message" : "invalid JSON Schema, cannot continue\nSyntax errors:\n[ {\n  \"level\" : \"error\",\n  \"schema\" : {\n    \"loadingURI\" : \"#\",\n    \"pointer\" : \"/properties/oneOf\"\n  },\n  \"domain\" : \"syntax\",\n  \"message\" : \"JSON value is of type array, not a JSON Schema (expected an object)\",\n  \"found\" : \"array\"\n} ]",
  "info" : "other messages follow (if any)"
}, {
  "level" : "error",
  "schema" : {
    "loadingURI" : "#",
    "pointer" : "/properties/oneOf"
  },
  "domain" : "syntax",
  "message" : "JSON value is of type array, not a JSON Schema (expected an object)",
  "found" : "array"
} ]
茹伊扎朗古伦

尝试这个:

{
    "description" : "schema validating people and vehicles",
    "type" : "object",
    "oneOf" : [{
        "properties" : {
            "firstName" : {
                "type" : "string"
            },
            "lastName" : {
                "type" : "string"
            },
            "sport" : {
                "type" : "string"
            }
        },
        "required" : ["firstName"]
    }, {
        "properties" : {
            "vehicle" : {
                "type" : "string"
            },
            "price" : {
                "type" : "integer"
            }
        },
        "additionalProperties":false
    }
]
}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

JSON模式oneOf属性已填充

来自分类Dev

从JSON模式生成示例JSON

来自分类Dev

Restkit 2 JSON示例

来自分类Dev

json模式来验证具有anyOf和oneOf要求的对象数组

来自分类Dev

面向对象的php类简单示例

来自分类Dev

Python中的面向对象示例

来自分类Dev

JSon schema and Inheritance

来自分类Dev

从POJO生成Json Schema

来自分类Dev

如何将Javascript数组更改为Angular-schema-form的JSON对象?

来自分类Dev

Failed validating 'type' json schema

来自分类Dev

Newtonsoft JConverter <T>读取对象或数组(oneOf)

来自分类Dev

将示例JSON请求主体(而非响应)转换为c#对象列表的语法是什么?

来自分类Dev

Tropo C#JSON示例?

来自分类Dev

json模式来验证具有anyOf和oneOf要求的对象数组

来自分类Dev

Djangorestframework:在单个请求中发布嵌套json对象的示例?

来自分类Dev

数字的MaxLength的JSON Schema属性

来自分类Dev

为什么这个json示例将对象解析为数组

来自分类Dev

从JSON模式生成示例JSON

来自分类Dev

$“ ...”的示例

来自分类Dev

将Json Schema反序列化为Json字符串或对象

来自分类Dev

Vuforia对象识别Unity示例

来自分类Dev

JSON-LD示例将“名称”属性用于“人”,但该属性不在Schema.org中

来自分类Dev

JSON-Schema draft-04-必需的OneOf

来自分类Dev

Groovy-Json 示例 - 地图对象返回空值

来自分类Dev

如何指定 JSON 对象应该采用哪个 oneOf 项目?

来自分类Dev

JSON-Schema oneOf 用于根区域下的选项

来自分类Dev

如何解析 JSON 数据以生成演示请求正文对象创建的 C# 示例代码

来自分类Dev

从架构对象生成 GraphQL schema.json

来自分类Dev

Spring-boot @RequestBody JSON 到带有日期反序列化示例的对象?

Related 相关文章

热门标签

归档