2014-09-11 1 views
0

클래스 별 속성과 함께 미리 정의 된 클래스 세트 중 하나 인 JSON에서 값을 인코딩하는 방법은 무엇입니까? 또한 형식이 json-schema (불필요한 특성이없는 경우 포함)로 완전히 유효성을 검사 할 수있는 요구 사항이 있습니다.JSON에서 다른 클래스의 데이터 기술하기

특정 반경을 가진 구 또는 특정 치수를 갖는 정육면체가 그 예입니다.

이 예를 들어 가능한 인코딩은 다음과 같습니다

{"class": "sphere", "sphereRadius": 1.6} 
{"class": "cube", "cubeSizeX": 1, "cubeSizeY": 2, "cubeSizeZ": 3} 

그러나 위의 형식을 설명하는 JSON 스키마를 정의 할 수 있는지 모르겠어요. class이 "구"와 같은 경우에만 sphereRadius이 있어야한다고 지정해야합니다.

이 기능은 스키마를 기반으로 사용자 인터페이스를 만드는 json-editor [1]와 함께 사용할 계획입니다. 결과는 클래스를 선택하는 드롭 다운 메뉴와 클래스 별 정보를 입력하는 필드 세트와 같아야합니다.

[1] https://github.com/jdorn/json-editor

+0

나는 실제로 비슷한 것을 시도했다. ([데모 페이지] (http://jsonary.com/documentation/json-schema/?section=keywords/General%20keywords/05%20- % 20oneOf)). – cloudfeet

답변

1

당신은 아마 각 옵션 예컨대 : 어떤 영역 별 제약과 함께

"properties": { 
    "class": {"enum": ["sphere"]} 
} 

oneOf을합니다. 사용자가 설명하는 드롭 다운 인터페이스는 "oneOf" 절의 올바른 표현처럼 들리므로 적합합니다.

+0

정말 고마워요. 나는 또한 "클래스"를 "필수"에 추가했다. –