2016-11-28 1 views
0

JSON과 같은 특성이 PurchaseSales이 목표 여기에, 지도 배열을위한 JSON 스키마 <String, String []>; 키와 값 쌍

{ 
    "user_id" : 2 
    "applicationName": "RetailPos", 
    "permissions": { 

    "Purchase": [ 
    "Access", 
    "Create", 
    "Delete", 
    "Modify" 
    ], 
    "Sales": [ 
    "Access", 
    "Create", 
    "Delete", 
    "Modify" 
    ] 
    }, 
"group": "Admin Group" 
} 

위의 샘플을 고려할 때 키와 값 쌍을 실행하고 Create, Access 값 포함 ... 작업이다. 여기서 대상과 작업은 모두 런타임 값입니다.

JSON Schema Validation에는 필요한 스키마를 만들 수없는 충분한 샘플을 찾을 수 없습니다.

모든 문서 또는 관련 샘플이 유용 할 것입니다.

답변

1

"additionalProperties"키워드를 사용할 수 있습니다. 예를 들어 :

{ 
    "$schema": "http://json-schema.org/draft-03/schema", 
    "type": "object", 
    "properties": { 
    "user_id": { 
     "type": "number", 
     "required": true 
    }, 
    "applicationName": { 
     "type":"string", 
     "required":true 
    }, 
    "permissions": { 
     "additionalProperties": { 
     "type": "array", 
     "items": { 
      "type": "string", 
      "enum": ["Access", "Create", "Delete", "Modify"] 
     }, 
     } 
    }, 

    "group" : { 
     "type" :"string", 
     "required":true 
    } 
    } 
} 

더 많은 정보 herehere

+0

additionalProperties는 하나가 될 수 있지만, 여기에 뭔가가 누락 vels4j @ 검증 – vels4j

+0

가 있을까? – Pedro

+0

을 개선하기 위해 응답을 업데이트 특정 정의 – Pedro