J'ai plusieurs journaux de consoles. Le journal "AB" dans le ArrayBuilder lui-même me donne la sortie ci-dessous qui est la sortie correcte. Mais le journal dans l'entrée pour ArrayBuilder me donne un blanc []. Pourquoi JsonArrayBuilder ne renvoie pas la sortie correcte?JsonArrayBuilder donne une sortie vide
"AB[{"ingredientnaam":"Banaan","calorieen":89,"vet":0.9,"verzadigd_vet":0.3,"eiwit":1.2,"koolhydraten":20.4,"vezels":1.9,"zout":0.0}]"
Entrée pour la ArrayBuilder
JsonArray ingredientArray = buildJsonIngredientArray(service.getToday(gebruikersnaam, datum));
System.out.println(ingredientArray.toString());
return ingredientArray.toString();
Mon 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();
}
Cela semble peu probable, mais il se peut que le tableau interne soit effacé après l'appel de 'build'. Essayez de stocker la valeur de retour pour la construction utilisée ici: 'System.out.println (" AB "+ jsonArrayBuilder.build());', et le retourner. (divulgation complète, aucune idée si cela fonctionnera) –
@NeilLocketz Que diable, je ne comprends pas pourquoi mais il a fixé haha. Merci beaucoup! –
Pas de problème, je vais répondre à la question aussi. –