JsonArrayBuilder给出空白输出

时间:2017-06-13 15:36:04

标签: java arrays json

我有多个控制台日志。 " 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();
}

1 个答案:

答案 0 :(得分:1)

调用build后,可能正在清除内部数组。 我在文档中找不到任何相关内容。

尝试存储此处使用的构建的返回值:

System.out.println("AB" + jsonArrayBuilder.build());

并将其归还。