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

Jackson ObjectMapper ignore all properties that has no annotation

我的目标是将 json 对象转换为 Class。我只想添加在 Class 中注释的字段。示例:json 对象包含 50 个字段。 Class 有 4 个字段。我只想映射精确的 4 个字段,而不在 class.

中添加 46 个附加忽略项

JSON:

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

Class:

public static class User {
    Integer id;
    String name;

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

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

@JsonIgnoreProperties注释你的class,如下:

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

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