树结构的JSON模式

时间:2016-05-10 23:38:27

标签: json jsonschema

我必须构建类似Json数据的树结构。每个节点都有一个id(一个整数,必需),一个标签(一个字符串,可选)和一个子节点数组(可选)。你能帮我解决一下如何为这个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"
                }
            ]
        }
    ]
}

enter image description here

1 个答案:

答案 0 :(得分:4)

此结构的架构只需要定义节点和对该节点的引用。属性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"
      ]
    }
  }
}