{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "MyStruct", "type": "object", "required": [ "duration", "time" ], "properties": { "duration": { "$ref": "#/definitions/Duration" }, "time": { "$ref": "#/definitions/SystemTime" } }, "definitions": { "Duration": { "type": "object", "required": [ "nanos", "secs" ], "properties": { "secs": { "type": "integer", "format": "uint64", "minimum": 0.0 }, "nanos": { "type": "integer", "format": "uint32", "minimum": 0.0 } } }, "SystemTime": { "type": "object", "required": [ "nanos_since_epoch", "secs_since_epoch" ], "properties": { "secs_since_epoch": { "type": "integer", "format": "uint64", "minimum": 0.0 }, "nanos_since_epoch": { "type": "integer", "format": "uint32", "minimum": 0.0 } } } } }