One-of
Example schema to demonstrate the use of the oneOf keyword
$id | oneof.yml |
$schema | http://json-schema.org/draft-07/schema# |
Properties
Name | Type |
---|
justOne | One of: | Object |
---|
Object |
Example
{
"justOne": {
"propertyA": "With a string value"
}
}
Example
{
"justOne": {
"propertyB": 123,
"propertyC": 456
}
}
justOne
Title |
Just One |
Description |
Property that demonstrates oneOf |
|
Type | One of: | Object |
---|
Object |
Required |
Yes |
justOne.0
Title |
justOne option 0 with a single property |
justOne.0.propertyA
Title |
Property A |
Type | String |
justOne.1
Title |
justOne option 1 with two properties |
justOne.1.propertyB
Title |
Property B |
Type | Integer |
justOne.1.propertyC
Title |
Property C |
Type | Integer |
Schema
{
"$id": "oneof.yml",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "One-of",
"description": "Example schema to demonstrate the use of the oneOf keyword",
"type": "object",
"examples": [
{
"justOne": {
"propertyA": "With a string value"
}
},
{
"justOne": {
"propertyB": 123,
"propertyC": 456
}
}
],
"properties": {
"justOne": {
"title": "Just One",
"description": "Property that demonstrates oneOf",
"type": "object",
"oneOf": [
{
"title": "justOne option 0 with a single property",
"properties": {
"propertyA": {
"type": "string",
"title": "Property A"
}
},
"required": [
"propertyA"
]
},
{
"title": "justOne option 1 with two properties",
"properties": {
"propertyB": {
"type": "integer",
"title": "Property B"
},
"propertyC": {
"type": "integer",
"title": "Property C"
}
},
"required": [
"propertyB",
"propertyC"
]
}
]
}
},
"additionalProperties": false,
"required": [
"justOne"
]
}