相关疑难解决方法(0)

一个对象的Json Schema示例

我试图通过构建验证两种不同对象类型的模式来弄清楚oneOf是如何工作的.例如一个人(名字,姓氏,运动)和车辆(类型,成本).

以下是一些示例对象:

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

{"vehicle":"car", "price":20000}
Run Code Online (Sandbox Code Playgroud)

问题是我做错了什么,我该如何解决它.这是架构:

{
    "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"} 
        }
     ]
   }
}
Run Code Online (Sandbox Code Playgroud)

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

https://json-schema-validator.herokuapp.com/
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

   [ {
  "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\" …
Run Code Online (Sandbox Code Playgroud)

schema json jsonschema

36
推荐指数
2
解决办法
4万
查看次数

验证 jsonchema 中 2 种可能的数据类型

我花了一整天的时间试图让它发挥作用,将在问题后发布参考文献和我尝试过的事情的列表。

这是我的 jsonschema:

{
    "data": [{
        "required": "effort",
        "decisive": "maybe",
        "field1": 7
    },
    {
        "required": "effort",
        "decisive": "no",
        "field1": 6
    }],
    "schema": {
        "$schema": "http://json-schema.org/draft-04/schema#",
        "type": "array",
        "items": {
            "type": "object",
            "properties": {
                "field1": {
                    "type": "string",
                    "pattern": "[A-Z]",
                    "title": "field1"
                },
                "required": {
                    "type": "string",
                    "title": "required",
                    "readonly": true
                },
                "decisive": {
                    "type": "string",
                    "title": "Decisive",
                    "enum": ["yes", "no", "maybe", "not now"]
                }

            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

考虑 jsonschema 的确切部分,但其field1元素如下:

"field1": {
    "type": "integer",
    "minimum": 5,
    "maximum": …
Run Code Online (Sandbox Code Playgroud)

validation json jsonschema

3
推荐指数
1
解决办法
875
查看次数

标签 统计

json ×2

jsonschema ×2

schema ×1

validation ×1