I have a java.util.List containing Java POJOs that I want to render as JSON Array String. For example:
[
{ "name": "abc", "age": 50 },
{ "name": "def", "age": "25" }
];
Using Java EE JSON Api I have added:
public String createJsonArrayFromList(List<Person> list) {
JsonArrayBuilder jsonArray = Json.createArrayBuilder();
for(Person c : list) {
jsonArray.add(Json.createObjectBuilder()
.add("name", c.getName())
.add("surname", c.getSurname()));
}
JsonArray array =jsonArray.build();
return array.toString();
}
However, what is returned is not the JSON String array but "org.glassfish.json.JsonArrayBuilderImpl@761c5d2f"
I have attemped with:
StringWriter buffer = new StringWriter();
Json.createWriter(buffer).writeObject(array);
But writeObject expects a different object type rather than JsonArray. Any help?