1

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

1 回答 1

1

这可以帮助您
将 jsonschema 文件放在项目根目录或资源中,并使用普通文件读取模式读取并将其存储在变量 saystr

     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) {
                
            }

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

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

于 2014-10-29T08:38:41.630 回答