원격 스키마 "person.json"을 다른 파일에 저장했습니다.원본 스키마의 동일한 수준에서 원격 JSON 스키마의 속성 재사용
{
"id":"#person",
"type":"object",
"properties": {
"name": {"type":"string"},
"gender": {
"type":"string",
"enum":["m", "f"]
},
"age": {"type":"number"}
},
"additionalProperties": false
}
는 그리고 나는이 하나 내 원래 스키마 존재하는 "man.json"스키마를 가지고있다. "턱수염, 콧수염"man.json에서 : 동일한 수준의 속성으로에 person.json에서 "이름, 성별 등"
{
"id":"#man",
"type":"object",
"$ref":"person.json",
"properties": {
"beard":"boolean",
"moustache":"boolean"
},
"required": ["name"],
"additionalProperties": false
}
나는 속성을 사용하고 싶습니다. 검증 나는 당신이 볼과 같은 레벨 (중첩되지 않음)에서 모든 속성과 함께, 이전에 표시된 예를 유효성을 검사 할
{
name: 'John',
gender: 'm',
age: 29,
beard: false,
moustache: true
}
에 대한
는예.
이것이 가능합니까? 그렇다면 어떻게? 고맙습니다.
주앙
json은 그런 중요한 기능을 지원하지 않습니다. 나는 "additional properties = false"를 삭제할 수 없습니다. 중복 된 코드를 사용했습니다. 좋은 해결책은 아니지만 원하는대로 작동합니다. 고맙습니다. – joaorodr84
additionalProperties의 해결 방법은 person에 대한 추상적 인 baseclass를 가질 수 있습니다. additionalProperties를 금지하지 않는 abstractPerson 클래스이며 allOf와 함께 사람과 사람 모두에 포함될 수 있습니다. – fiddur