如何从java加载JSON Schema文件

时间:2014-10-29 07:45:21

标签: java json jsonschema json-schema-validator

我的项目是一个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);

1 个答案:

答案 0 :(得分:1)

这可能会对你有所帮助 将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