我的项目是一个Maven项目,位于资源文件夹-src / main / resources文件夹中,我有一个json模式文件-“ jsonschema.json”

包:src / main / resources
文件:jsonschema.json

现在我想用json模式验证我的jsonobject

如何将schema.json文件加载到代码中:

下一行正确吗?

JsonNode schema = JsonLoader.fromResource("/jsonschema.json");  // correct? or correct me
JsonNode data = JsonLoader.fromString(jsonData);
ProcessingReport report = validator.validate(schema, data);

最佳答案

这可能对您有帮助
将jsonschema文件放在项目根目录或资源中,并使用普通文件读取架构,将其读取并存储在变量中,例如str

     booleab isValidRequest=false;
     String     requestData; // data to validate
     String str; //schema

            JsonNode requestDataJsonNode = com.github.fge.jackson.JsonLoader.fromString(requestData);
            final JsonNode schemaNode = JsonLoader.fromString(str);
    //      final JsonNode schemaNode=JsonLoader.fromResource("jsonschema.json"); for your query
    //
            final JsonSchemaFactory factory = JsonSchemaFactory.byDefault();
            JsonValidator validator = factory.getValidator();
            ProcessingReport processingReport=  validator.validate(schemaNode, requestDataJsonNode);
            if(processingReport!=null)
            {
                isValidRequest=processingReport.isSuccess();
            }

            } catch (Exception e) {

            }


如果您在执行程序时遇到异常。
添加下面列出的依赖项[link]

http://mvnrepository.com/artifact/com.github.fge/json-schema-validator/2.2.5

07-24 09:51
查看更多