Reputation: 571
I've got multiple console logs. The "AB" log in the ArrayBuilder itself gives me the output below which is the correct output. But the log in the input for the ArrayBuilder gives me a blank [ ]. Why is the JsonArrayBuilder not returning the correct output?
"AB[{"ingredientnaam":"Banaan","calorieen":89,"vet":0.9,"verzadigd_vet":0.3,"eiwit":1.2,"koolhydraten":20.4,"vezels":1.9,"zout":0.0}]"
Input for the ArrayBuilder
JsonArray ingredientArray = buildJsonIngredientArray(service.getToday(gebruikersnaam, datum));
System.out.println(ingredientArray.toString());
return ingredientArray.toString();
My 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();
}
Upvotes: 0
Views: 300
Reputation: 4318
It might be clearing the internal array after you call build
.
I couldn't find anything about this in the documentation though.
Try storing the return value for build used here:
System.out.println("AB" + jsonArrayBuilder.build());
and returning it.
Upvotes: 1