Преобразование типа ZonedDateTime в Gson
У меня есть служба отдыха, которая возвращает массив объектов, и я реализовал клиент jersy restful для его выполнения, но у меня проблема с преобразованием типа ZonedDateTime в json, поэтому я получаю эту ошибку
Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 231 path $[0].lastmodifieddate
Как я могу решить эту проблему?
столбец lastmodifieddate в сущности
@Column(name = "lastmodifieddate")
private ZonedDateTime lastmodifieddate;
//getter and setter
служба отдыха
@RequestMapping(value = "/getScoreFactor",
method = RequestMethod.GET,
produces = MediaType.APPLICATION_JSON_VALUE)
@Timed
public List<Scorefactor> getScoreFactor() throws JSONException {
return scoreService.getScoreFactor();
}
Джерси спокойный клиент
try {
Client client = Client.create();
WebResource webResource = client
.resource("http://localhost:8080/adap/api/getScoreFactor");
ClientResponse response = webResource.accept("application/json")
.get(ClientResponse.class);
String output = response.getEntity(String.class);
System.out.println("output--"+output);
Type listType = new TypeToken<List<Scorefactor>>() {}.getType();
List<Scorefactor> scorefactors = new Gson().fromJson(output,listType);
System.out.println(scorefactors);
} catch (Exception e) {
e.printStackTrace();
}