Я изучаю веб-сайты, и мой webapp использует jsr 356 library. Я следил за учебниками, и я могу кодировать/декодировать POJO, однако я не могу найти примеры того, как сериализовать массивы или коллекции в JSON.Кодирование коллекции в json array в jsr 356
Это то, что я делаю, чтобы закодировать мои данные:
@Override
public String encode(ScanPlus scan) throws EncodeException {
JsonObject jsonObject = createJsonObject(scan);
return jsonObject.toString();
}
private JsonObject createJsonObject(ScanPlus scan) {
JsonObject jsonObject = Json.createObjectBuilder()
.add("scan", scan.getCode())
.add("creationdate", String.valueOf(scan.getCreationDate()))
.add("username", scan.getUserName())
.build();
return jsonObject;
}
public String encode(ArrayList<ScanPlus> scans) throws EncodeException {
JsonArrayBuilder jsonArray = Json.createArrayBuilder();
for (ScanPlus scan : scans) {
JsonObject jsonObject = createJsonObject(scan);
jsonArray.add(jsonObject);
}
return jsonArray.toString();
}
Это, как я отправить данные на кодер:
@OnOpen
public void onOpen(Session session, @PathParam("username") String username) {
...
session.getBasicRemote().sendObject(scans);
}
И это исключение я получаю:
javax.websocket.EncodeException: No encoder specified for object of class [class java.util.ArrayList]
Может ли кто-нибудь дать мне подсказку о том, как это сделать?
благодарит