JSON格式" $ ref"错误

时间:2016-06-26 01:33:10

标签: json json-schema-validator

我正在尝试查找导致以下JSON无效的内容。奇怪的是,它在this网站中作为有效的JSON传递,但在this一个

中无效

这是架构:

http://pastebin.com/QPxEPjMT

第二个架构验证网站上记录的错误如下:

Error when resolving schema reference '#/definitions/identifiable'. 

Path 'definitions.subscription.allOf[0]', line 19, position 17.

有人可以澄清我的架构是否不正确,或者这是关于JSON架构本身的一些模棱两可的规则吗?

1 个答案:

答案 0 :(得分:0)

您没有为类型'可识别'的对象定义架构。在根定义级别:

 {
    ...
    "definitions": {
         ...
        "identifiable": {
                "$schema": "http://json-schema.org/draft-04/schema#",
                "id": "http://api.sprint.com/schema/identifiable#",
                "title": "Identifiable Schema",
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "description": "READ ONLY. The id of the resource."
                    }
                },
                "required": [
                    "id"
                ],
                "additionalProperties": true
        ...
  }
...
}

但是你已经在类型'订阅'的对象定义中定义了它。因此,您在计划中的参考指向:

[root]/definitions/identifiable

但是你有:

[root]/definitions/subscriptions/definitions/identifiable

请修改您的参考。 顺便说一句,两个网站都标记您的架构无效。