Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JsonArrayBuilder提供空白输出_Java_Arrays_Json - Fatal编程技术网

Java JsonArrayBuilder提供空白输出

Java JsonArrayBuilder提供空白输出,java,arrays,json,Java,Arrays,Json,我有多个控制台日志。ArrayBuilder中的AB日志本身为我提供了下面的输出,这是正确的输出。但是ArrayBuilder输入中的日志给了我一个空白[]。 为什么JsonArrayBuilder没有返回正确的输出 AB[{Ingredintanaam:Banaan,Carorieen:89,vet:0.9,verzadigd_vet:0.3,eiwit:1.2,koolhydraten:20.4,vezels:1.9,zout:0}] ArrayBuilder的输入 JsonArray in

我有多个控制台日志。ArrayBuilder中的AB日志本身为我提供了下面的输出,这是正确的输出。但是ArrayBuilder输入中的日志给了我一个空白[]。 为什么JsonArrayBuilder没有返回正确的输出

AB[{Ingredintanaam:Banaan,Carorieen:89,vet:0.9,verzadigd_vet:0.3,eiwit:1.2,koolhydraten:20.4,vezels:1.9,zout:0}]

ArrayBuilder的输入

JsonArray ingredientArray = buildJsonIngredientArray(service.getToday(gebruikersnaam, datum));
System.out.println(ingredientArray.toString());
return ingredientArray.toString();
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();
}
我的JsonArrayBuilder

JsonArray ingredientArray = buildJsonIngredientArray(service.getToday(gebruikersnaam, datum));
System.out.println(ingredientArray.toString());
return ingredientArray.toString();
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();
}

在调用build之后,它可能正在清除内部数组。 不过,我在文档中找不到关于这方面的任何信息

尝试存储此处使用的生成的返回值:

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

并返回它。

这似乎不太可能,但可能是在调用build之后清除了内部数组。尝试存储此处使用的生成的返回值:System.out.printlnAB+jsonArrayBuilder.build;,然后把它还给我。完全披露,不知道这是否会work@NeilLocketz见鬼,我不明白为什么,但它解决了它哈哈。非常感谢!没问题,我也会回答这个问题。