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 {
...
}
当 ignoreUnknown
为 true
时,所有无法识别的属性(即没有接受它们的 setter 或创建者)将被忽略而不发出警告(尽管未知属性的处理程序,如果有的话) , 仍然会被调用)无一例外。
我的目标是将 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 {
...
}
当 ignoreUnknown
为 true
时,所有无法识别的属性(即没有接受它们的 setter 或创建者)将被忽略而不发出警告(尽管未知属性的处理程序,如果有的话) , 仍然会被调用)无一例外。