java创建只包含响应中某些元素的POJO
我正在尝试使用pojo读取JSON响应。响应有很多属性,但我只需要很少的属性,我创建的POJO只有这些属性,但当我试图读取它时。它无法解析它
JSON响应:
[
{
"attr_1":1,
"attr_2":2,
"attr_3":3,
"attr_4":4,
"attr_5":5,
},
{
"attr_1":10,
"attr_2":20,
"attr_3":30,
"attr_4":40,
"attr_5":50,
}
]
我的POJO:
@JsonIgnoreProperties(ignoreUnknown = true)
public class MyPOJO {
@JsonProperty("attr_2")
private int attr_2;
@JsonProperty("attr_4")
private int attr_4;
public int getattr_2() { return attr_2; }
public void setattr_2(int attr_2) { this.attr_2 = attr_2;}
public int getattr_4() { return attr_4; }
public void setattr_4(int attr_4) { this.attr_4 = attr_4;}
}
我只需要attr_2和attr_4,而不需要其他
以下是我试图阅读回复的方式:
MyPOJO[] arr = response.readEntity(MyPOJO[].class);
但这一步失败了。我们真的需要在我的POJO中拥有所有的属性吗?因为有很多属性,我只需要很少的属性,不想有多余的代码吗
# 1 楼答案
我能够解决这个问题。我创建了一个空构造函数,它成功了。以前,我有一个只包含两个所需属性的构造函数