Существуют сотни определений JSON-схем, которые хранятся локально. Когда в качестве входных данных для моего кода C ++ задается json, он должен проверить входные данные json с соответствующим определением схемы json из локальной папки.
Я могу проверить это, когда это простое определение схемы json, но в большинстве случаев определения схемы имеют несколько ссылок на другие схемы json. Я использую Rapidjson для других связанных с JSON действий.
RapidJson предоставляет IRemoteSchemaDocumentProvider для локальных или удаленных ссылок, как показано ниже
class MyRemoteSchemaDocumentProvider : public IRemoteSchemaDocumentProvider {
public:
virtual const SchemaDocument* GetRemoteDocument(const char* uri, SizeType length) {
// Resolve the uri and returns a pointer to that schema.
}
};
// ...
MyRemoteSchemaDocumentProvider provider;
SchemaDocument schema(sd, &provider);
http://rapidjson.org/md_doc_schema.html
Но как проверить, когда в json есть несколько ссылок?
Спасибо
Задача ещё не решена.
Других решений пока нет …