我正在使用Spring RestTemplate
将GET request
发送给第三方服务。它返回巨大的JSON
,表示list of some entities
。但是每个实体都非常庞大,并且包含大量不必要的数据。我需要从每个实体只获得三个字段。如何构建我的模型来实现它?例如,如果我们有JSON
:
{
"entity1": "foo",
"entity2": "bar",
"entity3": "...",
"entity4": {
"aaa": "...",
"bbb": "...",
"ccc": 5
},
"entity5": [
"...",
"..."
]
}, {
"entity1": "foo",
"entity2": "bar",
"entity3": "...",
"entity4": {
"aaa": "...",
"bbb": "...",
"ccc": 5
},
"entity5": [
"...",
"..."
]
}
我有一节课:
public class SomeModel implements Serializable {
private static final long serialVersionUID = 1L;
private Long entity1;
private String entity2;
}
如何将此JSON转换为此类的实例数组?
答案 0 :(得分:3)
如果您使用的是Jackson,则可以使用@JsonIgnoreProperties(ignoreUnknown = true)
为您的模型类注释,如下所示:
@JsonIgnoreProperties(ignoreUnknown = true)
public class PosterDishModel implements Serializable {
private static final long serialVersionUID = 1L;
private Long entity1;
private String entity2;
}
基本上,它指示杰克逊丢弃所收到物品中的任何未知属性。
请注意,这不会阻止整个对象通过网络传输,流量将相同,但您要反序列化的对象将不包含不必要的字段和数据。