{ "$schema": "http://json-schema.org/draft-07/schema", "definitions": { "object_check": { "type": "object", "dependencies": { "additionalProperties": ["type"] }, "additionalProperties": { "anyOf": [ { "type": "object", "$ref": "#/definitions/object_check" }, { "type": "array", "$ref": "#/definitions/array_check" }, { "type": "string" }, { "type": "boolean" }, { "type": "number" }, { "type": "integer" } ] }, "properties": { "title": { "type": "string", "pattern": "^([A-Z0-9][a-z0-9\\.]*(| ))*$" }, "defaultSnippets": { "type": "array", "title": "default Snippets", "items": { "type": "object", "required": ["label", "body"], "examples": [{ "label": "example", "body": {} }], "properties": { "label": { "type": "string" }, "body": { "type": ["object", "string", "array", "number", "boolean", "integer"] } } } } } }, "array_check": { "items": { "anyOf": [ { "type": "object", "$ref": "#/definitions/object_check" }, { "type": "array", "$ref": "#/definitions/array_check" }, { "type": "string" }, { "type": "boolean" }, { "type": "number" }, { "type": "integer" } ] } } }, "anyOf": [ { "type": "object", "$ref": "#/definitions/object_check" }, { "type": "array", "$ref": "#/definitions/array_check" }, { "type": "string" }, { "type": "boolean" }, { "type": "number" }, { "type": "integer" } ] }