【发布时间】:2018-02-26 15:48:02
【问题描述】:
我正在尝试使用 Rest Template 将 JSON 绑定到 POJO。
假设有一个SpaceX 类和一个Rocket 类,而SpaceX 类有一个List<Rocket> 属性。我使用@JsonProperty 注释让Rest Template 自动绑定Rocket 对象内的“Rocket ID”和“名称”。
我的 JSON 文件以数组开头,如下所示:
[
{
"Rocket ID": "1",
"name": "A"
},
{
"Rocket ID": "2",
"name": "B"
}
]
我可以使用 JSON 文件并像这样手动填写 List<Rocket>:
public <T> List<T> createObjectsFromJSON(Class<T[]> responseType) {
ResponseEntity<T[]> responseEntity = restTemplate.exchange(URL, HttpMethod.GET, request, responseType);
T[] objects = responseEntity.getBody();
List<T> list = Arrays.asList(objects);
return list;
}
但我想创建一个SpaceXobject 并让Rest Template 自动填充List<Rocket>。
我无法回答如何做到这一点。我不能告诉 Rest Template 通过@JsonProperty 绑定列表,因为没有名称。
【问题讨论】:
-
你的意思是在不改变json结构的情况下,你想接受SpaceX对象而不是List
? -
@pvpkiran 是的,无法编辑 JSON 结构,因为我正在使用 API 来获取它。
标签: java json spring jackson resttemplate