如何在Jackson中验证特定的json结构?

时间:2015-04-26 07:30:42

标签: java json jackson jsonschema

我需要一种方法来验证特定格式化的json,它可以使用Jackson代表一个类(在我的案例中为Book类)字符串。有没有办法使用jsonSchema这样做?或者我必须以不同的方式做到这一点

ObjectMapper mapper = new ObjectMapper(); JsonSchema jsonSchema = mapper.generateJsonSchema(Book.class);

1 个答案:

答案 0 :(得分:2)

修改

您需要使用第三方库。

即。 https://github.com/fge/json-schema-validator

    ObjectMapper objectMapper = new ObjectMapper();
    // this line will generate JSON schema from your class
    JsonNode schemaNode = objectMapper.generateJsonSchema(StageDetail.class).getSchemaNode();

    // make your JSON to JsonNode
    JsonNode jsonToValidate = JsonLoader.fromString(JSON_TO_VALIDATE);

    // validate it against the schema
    ProcessingReport validate = JsonSchemaFactory.byDefault().getJsonSchema(schemaNode).validate(jsonToValidate);
    // validate.messages contains error massages
    System.out.println("Valid? " + validate.isSuccess());