Carla :
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?
user11044402 :
Use writeArray
instead of writeObject
:
JsonArray arr = ...;
JsonWriter writer = Json.createWriter(...)
writer.writeArray(arr);
writer.close();
See the docs.
Guess you like
Origin http://43.154.161.224:23101/article/api/json?id=327145&siteId=1