0
に基づいて、値Iはおもちゃの3種類を定義する以下のJSONスキーマは、このjson GUI builder(github)と共に使用されなければならない:JSONスキーマ:oneOfの
{
"id": "http://some.site.somewhere/entry-schema#",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "schema for toys in game",
"type": "object",
"required": [ "type" ],
"properties": {
"sawObj": {
"type": "object",
"oneOf": [
{ "$ref": "#/definitions/rect" },
{ "$ref": "#/definitions/circle" },
{ "$ref": "#/definitions/img" }
]
}
},
"definitions": {
"rect": {
"properties": {
"width": { "type": "integer" },
"height": { "type": "integer" },
"weight": { "type": "integer" }
},
"required": [ "width", "height", "weight" ],
"additionalProperties": false
},
"circle": {
"properties": {
"radius": { "type": "integer" },
"weight": { "type": "integer" }
},
"required": [ "radius", "weight" ],
"additionalProperties": false
},
"img": {
"properties": {
"path": { "type": "string" },
"width": { "type": "integer" },
"height": { "type": "integer" },
"weight": { "type": "integer" }
},
"required": [ "path", "width", "height", "weight" ],
"additionalProperties": false
}
}
}
Iは、例えば、円オブジェクトを選択した場合私は出力を得ます:
{
"sawObj": {
"radius": 0,
"weight": 0
}
}
私はいつもユーザーの選択したタイプを反映するように制限された値 "タイプ"を追加したいと思います。したがって、代わりにこのような何か:
{
"sawObj": {
"type": "circle",
"radius": 0,
"weight": 0
}
}
ここで、タイプはoneOfプロパティセクションからのユーザーの選択によって自動的に決定されます。
どうすればjson-schemaでこれを行うことができますか?