{ "$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\\.]*(| ))*$" } } }, "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" } ] }