반응형
JSON 스키마에서의 RegEx 사용
RegEx를 사용하여 항목의 값을 검증하는 JSON 스키마를 작성하려고 합니다.
progBinaryName이라는 이름의 아이템이 있으며, 그 값은 이 RegEx 문자열에 관련됩니다."^[A-Za-z0-9 -_]+_Prog\\.(exe|EXE)$"
.
JSON 스키마에서 RegEx를 실제로 사용하는 방법을 설명하는 튜토리얼 또는 예를 찾을 수 없습니다.
어떤 도움/정보라도 감사히 받겠습니다!
고마워, D
JSON 스키마
{
"name": "string",
"properties": {
"progName": {
"type": "string",
"description": "Program Name",
"required": true
},
"ID": {
"type": "string",
"description": "Identifier",
"required": true
},
"progVer": {
"type": "string",
"description": "Version number",
"required": true
},
"progBinaryName": {
"type": "string",
"description": "Actual name of binary",
"patternProperties": {
"progBinaryName": "^[A-Za-z0-9 -_]+_Prog\\.(exe|EXE)$"
},
"required": true
}
}
}
에러:
경고!JSON을 확인하는 게 좋을 거야
인스턴스는 필수 유형이 아닙니다. http://json-schema.org/draft-03/hyper-schema#
스키마는 유효한 JSON이지만 유효한 스키마가 아닙니다.
검증 결과: 실패
[ {
"level" : "warning",
"schema" : {
"loadingURI" : "#",
"pointer" : ""
},
"domain" : "syntax",
"message" : "unknown keyword(s) found; ignored",
"ignored" : [ "name" ]
}, {
"level" : "error",
"domain" : "syntax",
"schema" : {
"loadingURI" : "#",
"pointer" : "/properties/ID"
},
"keyword" : "required",
"message" : "value has incorrect type",
"expected" : [ "array" ],
"found" : "boolean"
}, {
"level" : "error",
"domain" : "syntax",
"schema" : {
"loadingURI" : "#",
"pointer" : "/properties/progBinaryName"
},
"keyword" : "required",
"message" : "value has incorrect type",
"expected" : [ "array" ],
"found" : "boolean"
}, {
"level" : "error",
"schema" : {
"loadingURI" : "#",
"pointer" : "/properties/progBinaryName/patternProperties/progBinaryName"
},
"domain" : "syntax",
"message" : "JSON value is not a JSON Schema: not an object",
"found" : "string"
}, {
"level" : "error",
"domain" : "syntax",
"schema" : {
"loadingURI" : "#",
"pointer" : "/properties/progName"
},
"keyword" : "required",
"message" : "value has incorrect type",
"expected" : [ "array" ],
"found" : "boolean"
}, {
"level" : "error",
"domain" : "syntax",
"schema" : {
"loadingURI" : "#",
"pointer" : "/properties/progVer"
},
"keyword" : "required",
"message" : "value has incorrect type",
"expected" : [ "array" ],
"found" : "boolean"
} ]
Problem with schema#/properties/progBinaryName/patternProperties/progBinaryName : Instance is not a required type
Reported by http://json-schema.org/draft-03/hyper-schema#
Attribute "type" (["object"])
RegEx에 대해 문자열 값(속성 이름이 아님)을 테스트하려면"pattern"
키워드:
{
"type": "object",
"properties": {
"progBinaryName": {
"type": "string",
"pattern": "^[A-Za-z0-9 -_]+_Prog\\.(exe|EXE)$"
}
}
}
추신 - 패턴이 (값이 아닌) 속성의 키와 일치하도록 하려면"patternProperties"
(마치"properties"
단, 열쇠는 RegEx)입니다.
JSON 스키마 구문이 잘못되었습니다.바꾸다
"patternProperties": {
"progBinaryName": "^[A-Za-z0-9 -_]+_Prog\\.(exe|EXE)$"
}
로.
"patternProperties": {
"^[A-Za-z0-9 -_]+_Prog\\.(exe|EXE)$": {}
}
언급URL : https://stackoverflow.com/questions/16491973/using-regex-in-json-schema
반응형
'programing' 카테고리의 다른 글
동일한 데이터베이스 내에서 컬렉션을 가장 빨리 복사할 수 있는 방법은 무엇입니까? (0) | 2023.04.06 |
---|---|
반응 네이티브:네이티브 프로펠러 RCTView.maxHeight용 propType 없음 (0) | 2023.04.06 |
Wordpress WP 목록 테이블 임플리테이션 (0) | 2023.04.06 |
WordPress ID로 사용자 역할 가져오기 (0) | 2023.04.06 |
로드 시 Angularjs 체크박스가 기본적으로 켜져 있으며 이 체크박스를 켜면 목록 선택을 비활성화합니다. (0) | 2023.04.06 |