如何为Tree结构创建JSON Schema?

时间:2014-03-06 14:39:49

标签: java javascript json tree jsonschema

我有一个树结构,我想创建一个JSON模式。

班级结构

class Node {

   String id;
   List<Node> children = new ArrayList<>();

}

到目前为止的JSON模式:

{
  "name": "node",
  "type": "object",
  "properties": {
     "id": {
        "type": "string",
        "description": "The node id",
        "required": true
     }
     "children": {
        "type": "array",
        "items": {
           //The items of array should be node ?               
        }
     }
  }
}

我的问题是我不知道如何用JSON描述数组的内容"items"

提前感谢您的回答。

1 个答案:

答案 0 :(得分:9)

只需使用JSON引用指向架构本身:

{
  "type": "object",
  "required": [ "id" ],
  "properties": {
     "id": {
        "type": "string",
        "description": "The node id"
     },
     "children": {
        "type": "array",
        "items": { "$ref": "#" }
     }
  }
}

# JSON引用本质上意味着“文档本身”。因此,这允许您定义递归模式,如此处。

注意:重写以使其符合草案v4。