2016-06-26 13 views
0

次のJSONを無効にしているものを探しています。次のように

http://pastebin.com/QPxEPjMT

エラーが第二スキーマ検証のウェブサイトにログオンしている:奇妙なことは、それがthisウェブサイトに有効なJSONをオフに渡しますが、ここでは1

thisで無効であるスキーマであるということです。

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

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

は、誰かが私のスキーマが間違っているか、これはJSONスキーマ自体には約いくつかのあいまいなルールであるかどうかを明確にすることはできますか?

+0

「スキーマドラフトv3」または「スキーマドラフトv4」を選択し、jsonが有効であると検証された場合は、http://www.jsonschemavalidator.net/のWebサイトで提供しました。さらに、私が使用しているjslint.comでは、jsonが有効です。 –

+0

@AshwinKrishnamurthyは応答を感謝しますが、ドロップダウンリストからv4を選択すると、Webサイトはデフォルトのスキーマを読み込みます。 –

+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 

、あなたの参照を修正してください。 ところで、両方のサイトがスキーマを無効にしています。

関連する問題