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