2016-05-10 22 views
2

各ノードにはid(整数、必須)、ラベル(文字列、オプション)、子ノードの配列(オプション)があります。このJsonデータのJSONスキーマの作成方法を教えてください。子ノードでも必要に応じてIdを設定する必要があります。ツリー構造のJSONスキーマ

{ 
    "Id": 1, 
    "Label": "A", 
    "Child": [ 
     { 
      "Id": 2, 
      "Label": "B", 
      "Child": [ 
       { 
        "Id": 5, 
        "Label": "E" 
       }, { 
        "Id": 6, 
        "Label": "E" 
       }, { 
        "Id": 7, 
        "Label": "E" 
       } 
      ] 
     }, { 
      "Id": 3, 
      "Label": "C" 
     }, { 
      "Id": 4, 
      "Label": "D", 
      "Child": [ 
       { 
        "Id": 8, 
        "Label": "H" 
       }, { 
        "Id": 9, 
        "Label": "I" 
       } 
      ] 
     } 
    ] 
} 

enter image description here

答えて

3

この構造のスキーマは、ノードの定義と、そのノードへの参照を必要とします。プロパティChildrenChildに改名)は、nodeも参照しています。

ここスキーマです:

{ 
    "$schema": "http://json-schema.org/draft-04/schema#", 
    "$ref": "#/definitions/node", 
    "definitions": { 
    "node": { 
     "properties": { 
     "Id": { 
      "type": "integer" 
     }, 
     "Label": { 
      "type": "string" 
     }, 
     "Children": { 
      "type": "array", 
      "items": { 
      "$ref": "#/definitions/node" 
      } 
     } 
     }, 
     "required": [ 
     "Id" 
     ] 
    } 
    } 
} 
+0

はあなたの迅速な応答をありがとうございました。 –