我在春季与杰克逊一起创建了一个简单的休息客户进行培训。我有国家和联赛的两个模特。 国家有:
private Set<League> leagues;
@JsonProperty("country_id")
private long apiCountryId;
@JsonProperty("country_name")
private String name;
当然还有吸气剂和吸气剂 联赛只有ID和名称。 现在我想从apifootbal获取数据,响应如下:
[
{
"country_id":"169",
"country_name":"England",
"league_id":"62",
"league_name":"Premier League"
},
{
"country_id":"169",
"country_name":"England",
"league_id":"65",
"league_name":"League 2"
},
{
"country_id":"169",
"country_name":"England",
"league_id":"66",
"league_name":"Nat. League"
}
]
因此,每个对象的2个前元素相同,每个对象的2个后元素不同,联赛不是独立的对象,所以我不能只是将其取出。现在,我不知道如何创建一个Country对象,其外观将如下所示:
id: 169,
name: England,
league: [{
id:"62",
name:"Premier League"
}, {
id:"65",
name:"League 2"
}, {
id:"66",
name:"Nat. League"
}]
我知道如何创建包含所有数据的国家对象数组,但是我不知道如何将其与一个国家和3个联赛对象分开(以及如何将它们添加到国家对象的集合中)。一种选择是将League_id和League_name添加到国家/地区,然后从它们中反复创建联盟对象,但这是唯一的方法?
答案 0 :(得分:0)
您可以编写自定义解串器并编写自定义逻辑来处理此类数据。
请参考deserialize xml to pojo using jackson xml mapper(示例为XML,但也可以类似地用于JSON)