Схема JSON для древовидной структуры

Мне нужно построить древовидную структуру данных Json. У каждого узла есть идентификатор (целое число, обязательно), метка (строка, необязательно) и массив дочерних узлов (необязательно). Можете ли вы помочь мне, как написать схему JSON для этих данных Json. Мне также нужно установить Id в дочернем узле.

{
    "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"
                }
            ]
        }
    ]
}

введите здесь описание изображения


person Ganesh Inbarajan    schedule 10.05.2016    source источник


Ответы (1)


Схема для этой структуры требует только определения узла и ссылки на этот узел. Свойство Children (переименованное из Child) также ссылается на 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"
      ]
    }
  }
}
person venerik    schedule 11.05.2016
comment
Большое вам спасибо за ваш быстрый ответ. - person Ganesh Inbarajan; 12.05.2016