第一个API响应
{
"initial": null,
"answer":
[
{
"id": 13,
"name": "Lion",
"allowed_values": [
"2017",
"2018",
],
"archived": false
},
{
"id": 14,
"name": "Tiger",
"allowed_values": [
"2017",
"2018",
],
"archived": true
}
],
"final": null
}
第二次API响应
{
"initial": null,
"answer":
[
{
"date_purchased":null,
"Tested": true,
"RollId":12
},
{
"date_purchased":null,
"Tested": true,
"RollId":16
}
],
"final": null
}
演示班
public class Demo {
String initial;
Object answer;
String final;
}
我的RestTemplate实体
ResponseEntity<Demo> response = restTemplate.exchange(getURL1stAPI, HttpMethod.GET, entity, Demo.class);
我可以将答案用作Object数据类型,但我想将答案定义为Std类以获得对它的更多控制。但是答案可以有许多不同的形式,如上面的JSON响应中所述。
public class answer_1 {
Date date;
String name;
Set<String> allowed_values;
String archived;
}
public class answer_2 {
Date date_purchased;
String Tested;
int RollId
}
所以我可以通过在调用restTemplate时将 answer 的数据类型提供为answer_1或answer_2来重用同一个Demo类。但是我无法弄清楚如何做这!
提前致谢,
杰
答案 0 :(得分:0)
您需要像这样修改您的演示类
public class Demo {
String initial;
List<Object> answer;
@JsonProperty("final")
String finalValue;
}
要匹配两个json。
@JsonProperty