JSON 스키마 유효성 확인에 대한 도움말은 샘플 JSON 및 스키마입니다. "ppd"스키마 규칙을 구체적으로 지정하는 방법을 알아 내려고하고 있습니다. "cfg"는 String, String의 맵이며 Enum 정의에 따라이 맵에서 키와 값의 항목을 추가로 제한해야합니다. 즉, "inputDateTimeFormat" 유효한 날짜 시간 형식이므로 key가 "inputDateTimeFormat"이면 인코딩해야하며 허용 된 값은 날짜 시간 형식과 일치하는 패턴이고 키가 "valuemapping"이면 허용되는 값은 패턴 일치 k = v (아래 예)입니다.열거 형 제약 조건이있는 문자열 맵을 사용하는 JSON 스키마 유효성 검사
이 방법을 제안 해주세요.
JSON 샘플 -
{
"sm": [
{
"mid": "id-1",
"ppd": [
{
"name": "cc-1",
"cfg": {
"columns": "v-1",
"valueMapping": "B=01;S=02"
}
},
{
"name": "cc-2",
"cfg": {
"columns": "v-2",
"inputDateTimeFormat": "ddMMMyyyy_HH:mm:ss.SSSSSS",
"outputDateTimeFormat": "yyyy-MM-dd'T'HH:mm:Ss.SSSZ"
}
},
{
"name": "cc-3",
"cfg": {
"columns": "v-3;v-4",
"markers": "d=01"
}
}
]
}
]
}
JSON 스키마 : 스키마가 몇 가지 문제를 포함하여
{
"type": "object",
"$schema": "http://json-schema.org/draft-06/schema",
"id": "source-mappings-schema",
"required": true,
"properties": {
"sm": {
"type": "array",
"id": "source-mappings-schema/sm",
"required": true,
"items": {
"type": "object",
"id": "source-mappings-schema/sm/0",
"required": true,
"properties": {
"mappingId": {
"type": "string",
"id": "source-mappings-schema/sm/0/mappingId",
"required": true
},
"ppd": {
"type": "array",
"id": "source-mappings-schema/sm/0/ppd",
"required": true,
"items": {
"type": "object",
"id": "source-mappings-schema/sm/0/ppd/0",
"required": true,
"properties": {
"name": {
"type": "string",
"id": "source-mappings-schema/sm/0/ppd/0/name",
"required": true
},
"cfg": {
"type": "array",
"id": "source-mappings-schema/sm/0/ppd/0/cfg",
"required": true,
"items": {
"type": "string"
}
}
}
}
}
}
}
}
}
}