Some Name
Some Name

Reputation: 571

JsonArrayBuilder gives blank output

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

Answers (1)

Neil Locketz
Neil Locketz

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

Related Questions