{ "$schema": "http://json-schema.org/draft-04/schema#", "definitions": { "MyGame_Example_TestEnum" : { "type" : "string", "enum": ["A", "B", "C"] }, "MyGame_Example_NestedStruct" : { "type" : "object", "properties" : { "a" : { "type" : "array", "items" : { "type" : "number" }, "minItems": 2, "maxItems": 2 }, "b" : { "$ref" : "#/definitions/MyGame_Example_TestEnum" }, "c" : { "$ref" : "#/definitions/MyGame_Example_TestEnum", "minItems": 2, "maxItems": 2 }, "d" : { "type" : "array", "items" : { "type" : "number" }, "minItems": 2, "maxItems": 2 } }, "additionalProperties" : false }, "MyGame_Example_ArrayStruct" : { "type" : "object", "properties" : { "a" : { "type" : "number" }, "b" : { "type" : "array", "items" : { "type" : "number" }, "minItems": 15, "maxItems": 15 }, "c" : { "type" : "number" }, "d" : { "type" : "array", "items" : { "$ref" : "#/definitions/MyGame_Example_NestedStruct" }, "minItems": 2, "maxItems": 2 }, "e" : { "type" : "number" }, "f" : { "type" : "array", "items" : { "type" : "number" }, "minItems": 2, "maxItems": 2 } }, "additionalProperties" : false }, "MyGame_Example_ArrayTable" : { "type" : "object", "properties" : { "a" : { "$ref" : "#/definitions/MyGame_Example_ArrayStruct" } }, "additionalProperties" : false } }, "$ref" : "#/definitions/MyGame_Example_ArrayTable" }