다음 JSON 스키마가 있는데, id
과 content
이 모두 필요하지만 기본값은 빈 문자열입니다. 나는 다음과 같은 JSON 문자열의 유효성을 검사하기 위해 노력하고있어기본 속성을 처리하기 위해 RapidJSON 스키마를 얻는 방법
{
"type": "object",
"properties": {
"id": { "type": "string" },
"content": { "type": "string", "default": "" }
},
"required": [ "id", "content" ],
"additionalProperties": false
}
: 그 내용은
{
"id": "some id"
}
, 나는 다음과 같은 코드가 있습니다
rapidjson::Document document;
document.Parse(schemaJson.c_str());
rapidjson::SchemaDocument schemaDocument(document);
rapidjson::SchemaValidator validator(schemaDocument);
rapidjson::Document modelDoc;
modelDoc.Parse(modelJson.c_str());
modelDoc.Accept(validator); // Complains about missing property
는 동의를 호출에도 불구하고 검증 실패 속성에는 기본값이 있습니다.
RapidJSON schema documentation은 JSON Schema draft 4을 준수한다고 주장합니다.
내가 뭘 잘못하고 있는지 알 수 있습니까?
감사합니다. 오늘로