我有多个控制台日志。 " AB"登录ArrayBuilder本身给我输出正确的输出。但是ArrayBuilder输入中的日志给我一个空白[]。 为什么JsonArrayBuilder没有返回正确的输出?
"AB[{"ingredientnaam":"Banaan","calorieen":89,"vet":0.9,"verzadigd_vet":0.3,"eiwit":1.2,"koolhydraten":20.4,"vezels":1.9,"zout":0.0}]"
ArrayBuilder的输入
JsonArray ingredientArray = buildJsonIngredientArray(service.getToday(gebruikersnaam, datum));
System.out.println(ingredientArray.toString());
return ingredientArray.toString();
我的JsonArrayBuilder
private JsonArray buildJsonIngredientArray(List<Dagboek> list) {
JsonArrayBuilder jsonArrayBuilder = Json.createArrayBuilder();
for (Dagboek d : list) {
Ingredient c = d.getIngredient();
JsonObjectBuilder job = Json.createObjectBuilder();
job.add("ingredientnaam", c.getIngredientnaam());
job.add("calorieen", c.getCalorieen());
job.add("vet", c.getVet());
job.add("verzadigd_vet", c.getVerzadigd_vet());
job.add("eiwit", c.getEiwit());
job.add("koolhydraten", c.getKoolhydraten());
job.add("vezels", c.getVezels());
job.add("zout", c.getZout());
jsonArrayBuilder.add(job);
}
System.out.println("AB" + jsonArrayBuilder.build());
return jsonArrayBuilder.build();
}
答案 0 :(得分:1)
调用build
后,可能正在清除内部数组。
我在文档中找不到任何相关内容。
尝试存储此处使用的构建的返回值:
System.out.println("AB" + jsonArrayBuilder.build());
并将其归还。