일부 구성 파일을 정의 할 때 JSON을 사용하고 있는데 json scheme으로 유효성을 검사하고 싶습니다. 예 : 유효한키가 일부 사용자 정의 배열의 항목 중 하나 여야한다는 constaint 유지 방법
:
{
"files": ["file1", "file2"],
"filelocations": {
"file1": "/etc/globalconfigs/file1.conf",
"file2": "/usr/bin/file2.sh"
}
}
잘못된을 (otherkey이 files
에없는) 내 문제는 내가 어떤 개체의 키가 같은 JSON에 정의 된 배열의 항목의 하위 집합이어야한다는 것을 보장 할 것입니다 :
{
"files": ["file1", "file2"],
"filelocations": {
"file1": "/etc/globalconfigs/file1.conf",
"otherkey": "/usr/bin/file2.sh"
}
}
등 내가 원하는 것은 filelocations
의 키 files
배열에서 발견되는 것을 보장하는 것입니다. Althoug이 예제에서는 키 - 값을 결합하여 JSON의 구조를 변경할 수 있으므로 이런 종류의 제약이 필요하지는 않습니다. 제 경우에는 JSON을 이와 같이 변경할 수 없으므로 이를위한 검증 메커니즘.
내가 어떻게 이것을 달성 할 수 있습니까?
답변 해 주셔서 감사합니다. 내 요구 사항이 JSON과 그 스키마를 사용하고 있거나 사용할 사용자에게 유효하고 공통적 인 문제라고 생각합니까? 이 경우 사용자 지정 키워드를 추가하면 사양을보다 성숙하게 만들 수 있습니다. 그렇지 않으면 JSON을 사용하여 코드에서이 요구 사항을 확인할 수 있기 때문에 가치가 없을 수도 있습니다. –
솔직히 말해서 매우 일반적인 요구 사항이라고 생각하지 않습니다. 특히 JSON은 리팩터링되어 키를 언급하는 분리 된 배열이 필요하지 않기 때문에 가능합니다. – fge
나는 이것이 일반적인 요구 사항이 아닐 수도 있고, 당신이 옳다고 생각했다. 나는 JSON을 리팩터링 할 수 있지만, 현재의 형태로는 나 자신과 사람들이 사용하기에 훨씬 편하다. 그래서이 작업을 계속하고 JSON을 사용하여 코드에서 확인합니다. 당신의 도움을 주셔서 감사합니다. –