java如何在POJO类中填充列表并将它们组合在一起
我有一个JSON,我把它转换成一个由3个不同类组成的POJO
{
"Id": "2a0dd1fc",
"name": "AABBCCDD",
"description": "test",
"active": true,
"Groups": [
{
"agentGroups": [
{
"Id": "AXSNqSWSILMPnVvB-Cdc"
}
],
"order": 1,
"duration": 0
},
{
"agentGroups": [
{
"Id": "AXZlGzTR4pYEiRgUOqOL"
}
],
"order": 2,
"duration": 60
}
]
}
------------------------------------代理组。爪哇-----------------------------------
public class AgentGroup{
public String id;
//Getter & Setters
}
------------------------------小组。爪哇-----------------------------------
public class Group{
** public List<AgentGroup> agentGroups;**
public int order;
public int duration;
//Getter & Setters
public void setAgentGroups(List<AgentGroup> agentGroups) {
this.agentGroups = agentGroups;
}
}
------------------------------------DistributionGroup。爪哇-----------------------------------
public class DistributionGroup{
public String id;
public String name;
public String description;
public boolean active;
**public List<Group> groups;**
//Getter & Setters
public void setGroups(List<Group> groups) {
this.groups = groups;
}
}
正如您所见,Group是一个列表,agentGroup也是一个列表。 我很难填充/设置列表值,并将它们拼凑在一起,然后将组作为列表返回
我尝试过这样设置,但似乎不起作用: //函数调用
List<Group> groups=createDistributionGroup(teamIds,1)
功能:
public static Group createDistributionGroup(List<String> teamIds, int order) {
Group grp= new Group();
grp.setOrder(order);
grp.setDuration(60);
//Now How do I put AgentGroup in a list and return the group.
return grp;
}
谢谢你的帮助
# 1 楼答案
你的模型或多或少代表了你的json。这里有一个简单的测试,可以用来验证它
我确实对json做了一些更改,我将
Id
字段设置为id
,将Groups
字段设置为groups
,注意大小写的区别。如果无法更改json,则必须向模型属性添加注释,让它们知道它们不符合bean规范。例如,如果希望在json中保留Id
,则必须将@JsonAlias("Id")
添加到类的id属性中,因此该字段如下所示:要在
createDistributionGroup
方法中将AgentGroups添加到您的组中,它将如下所示: