スキーマでのキーの複製について質問があります。これは例です:
main.schema.json
{
"$schema": "http://json-schema.org/draft-04/schema#",
"definitions": {
"main.schema": {
"properties": {
"value": {
"description": "Status",
"type": "boolean"
}
},
"type": "object"
}
},
"allOf": [
{
"$ref": "baseResource.json#/definitions/baseResource"
},
{
"$ref": "#/definitions/main.schema"
}
],
"id": "main.schema.json#",
"required": [
"value"
],
"title": "Title",
"type": "object"
}
baseResource.json
{
"$schema": "http://json-schema.org/draft-04/schema#",
"allOf": [
{
"$ref": "#/definitions/baseResource"
}
],
"definitions": {
"baseResource": {
"properties": {
"id": {
"description": "SomeDesc",
"type": "string"
},
"value": {
"type": [
"string",
"boolean"
]
}
},
"type": "object"
}
},
"id": "baseResource.json#",
"required": [
"id"
],
"title": "Base Resource",
"type": "object"
}
そして、これにはどのような値が適切ですか?値は (メイン スキーマに従って) ブール値のみにするか、ブール値または文字列にすることができます (それが正しいベース リソースへの参照)。値をブール値以外にすることを許可しない JSON バリデーターを使用しています。JSON 仕様で多くのことを検索しましたが、それに関する情報はありません。