具有正则表达式验证的ObjectMapper

时间:2017-03-24 19:43:05

标签: java json regex jackson objectmapper

对于我的Student类,我将使用ObjectMapper将JSON反序列化为Java对象。

class Student {
   private String name;
   private String email;

   ...
}

我想验证email的格式。显而易见的方法是首先反序列化JSON,然后从生成的Java对象中验证email

Pattern email_pattern = Pattern.compile("^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,6}$", Pattern.CASE_INSENSITIVE);
Matcher matcher = email_pattern.matcher(student.getEmail());
if (!matcher.find()) {
    throw new SyntaxException();
}

我想知道是否有办法在Student类中包含正则表达式验证(也许杰克逊提供了注释?)。如果验证失败,则ObjectMapper的readValue(json, Student.class)会抛出异常。

0 个答案:

没有答案