diff options
Diffstat (limited to '3rdparty/rapidjson/example/schemavalidator/schemavalidator.cpp')
-rw-r--r-- | 3rdparty/rapidjson/example/schemavalidator/schemavalidator.cpp | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/3rdparty/rapidjson/example/schemavalidator/schemavalidator.cpp b/3rdparty/rapidjson/example/schemavalidator/schemavalidator.cpp deleted file mode 100644 index ce36ea95f00..00000000000 --- a/3rdparty/rapidjson/example/schemavalidator/schemavalidator.cpp +++ /dev/null @@ -1,72 +0,0 @@ -// Schema Validator example - -// The example validates JSON text from stdin with a JSON schema specified in the argument. - -#include "rapidjson/error/en.h" -#include "rapidjson/filereadstream.h" -#include "rapidjson/schema.h" -#include "rapidjson/stringbuffer.h" - -using namespace rapidjson; - -int main(int argc, char *argv[]) { - if (argc != 2) { - fprintf(stderr, "Usage: schemavalidator schema.json < input.json\n"); - return EXIT_FAILURE; - } - - // Read a JSON schema from file into Document - Document d; - char buffer[4096]; - - { - FILE *fp = fopen(argv[1], "r"); - if (!fp) { - printf("Schema file '%s' not found\n", argv[1]); - return -1; - } - FileReadStream fs(fp, buffer, sizeof(buffer)); - d.ParseStream(fs); - if (d.HasParseError()) { - fprintf(stderr, "Schema file '%s' is not a valid JSON\n", argv[1]); - fprintf(stderr, "Error(offset %u): %s\n", - static_cast<unsigned>(d.GetErrorOffset()), - GetParseError_En(d.GetParseError())); - fclose(fp); - return EXIT_FAILURE; - } - fclose(fp); - } - - // Then convert the Document into SchemaDocument - SchemaDocument sd(d); - - // Use reader to parse the JSON in stdin, and forward SAX events to validator - SchemaValidator validator(sd); - Reader reader; - FileReadStream is(stdin, buffer, sizeof(buffer)); - if (!reader.Parse(is, validator) && reader.GetParseErrorCode() != kParseErrorTermination) { - // Schema validator error would cause kParseErrorTermination, which will handle it in next step. - fprintf(stderr, "Input is not a valid JSON\n"); - fprintf(stderr, "Error(offset %u): %s\n", - static_cast<unsigned>(reader.GetErrorOffset()), - GetParseError_En(reader.GetParseErrorCode())); - } - - // Check the validation result - if (validator.IsValid()) { - printf("Input JSON is valid.\n"); - return EXIT_SUCCESS; - } - else { - printf("Input JSON is invalid.\n"); - StringBuffer sb; - validator.GetInvalidSchemaPointer().StringifyUriFragment(sb); - fprintf(stderr, "Invalid schema: %s\n", sb.GetString()); - fprintf(stderr, "Invalid keyword: %s\n", validator.GetInvalidSchemaKeyword()); - sb.Clear(); - validator.GetInvalidDocumentPointer().StringifyUriFragment(sb); - fprintf(stderr, "Invalid document: %s\n", sb.GetString()); - return EXIT_FAILURE; - } -} |