Jackson ObjectMapper忽略所有没有注释的属性

时间:2016-10-04 11:36:22

标签: java json jackson mongo-jackson-mapper

我的目标是将jsonObject转换为Class。我想只添加在Class中进行anotated的字段。示例:json对象包含50个字段。班级有4个领域。我想只映射确切的4个字段而不在课堂上添加46个加法忽略。

JSON:

{
  "id": "1",
  "name": "John",
  "Address": "Some Address 7009",
}

类别:

public static class User {
    Integer id;
    String name;

    public User (@JsonProperty("id")Integer id, @JsonProperty("name")String name {
            this.id= id;
            this.name= name;
    }
    ....
}

用户类没有地址字段。我的目标是排除它,因为它没有注释。

1 个答案:

答案 0 :(得分:4)

使用@JsonIgnoreProperties为您的班级添加注释,如下所示:

@JsonIgnoreProperties(ignoreUnknown = true)
public class User {
    ...
}

ignoreUnknowntrue时,所有无法识别的属性(即没有接受它们的setter或创建者)都会被忽略而不会发出警告(尽管未知属性的处理程序(如果有)将会仍被称为无一例外。