【发布时间】:2016-05-14 09:38:41
【问题描述】:
我有一个包含姓名、年龄和汽车的人员列表。我可以打印出一组的字符串值。但是,当我在列表中添加另一个名称、年龄、汽车时,只显示最后一个项目/列表。如何打印出两组人员数据?
List<People> peopleInfo = getInfo(ppl);
String peopleResults = mapper.writeValueAsString(peopleInfo);
for(People model : peopleInfo) {
People people = new People(model.getName(), model.getAge(), model.getCar());
ToJSON peop = new ToJSON(people);
ObjectMapper mapper2 = new ObjectMapper();
ObjectWriter writer = mapper2.writer(new DefaultPrettyPrinter());
writer.writeValue(new File("file.json"), peop);
getInfo 方法
private List<People> getInfo(String ppl) {
List<People> peopleList = new ArrayList<People>();
People people = new People();
//1st Person
people.setName("Tim");
people.setAge("22");
people.setCar("Ford");
//Second Person
people.setName("Susan");
people.setAge("42");
people.setCar("Toyota");
peopleList.add(people);
return peopleList;
}
【问题讨论】:
-
您没有创建两个 People 对象。您只是创建一个,而在第二次分配时会删除值。
-
谢谢。如果我不知道会有多少人怎么办。换句话说,我不会设置我的值,而是从数据库中检索。这就是 DB 中的 ID 字段的来源吗?
-
一切都取决于您想对人员列表做什么。您必须迭代来自数据库并包含人员的列表。然后做一些你认为对你的功能来说必要的工作。我不清楚你的需求。
-
我会从数据库中获取项目并以 JSON 格式显示它们。列表中可能有 50 个人具有类似和类似的信息。因此,在上面的代码中,我返回了一个 peopleList 并以 JSON 格式编写它。
标签: java arraylist collections hashmap