Quick Интро (может быть пропущены): Привет, есть много вопросов и ответов по этой теме, но иногда решение настолько просто, что вы просто не даже думать, и потому, что я потерял много времени, я хочу опубликовать дополнение ко всем ответам.Анализировать JSON Дата от POST с Genson и Джерси
Проблема: У вас есть служба JSON REST, который обрабатывает POST запросы, чтобы сохранить объект JSON, но этот объект содержит поле даты, не разобранные вне коробки по Genson.
Java-объекта:
public class MyObj {
// The field you want to serialize/deserialize
private Date date;
// Constructor with no arguments needed by Genson
public MyObj() {}
}
остальной сервис с Джерси:
@Path("/api/my-obj")
public class MyObjAPI {
@POST
@Consumes("application/json")
public Response insert(MyObj myObj) {
// do what you want with myObj, it's ready to use with the date
return Response.created('url/to/created/object').build();
}
}
Клиент в JavaScript с JQuery:
// This is the JSON Object to POST
var myObj = {
date: new Date()
};
$.ajax({
method: 'POST',
url: '/api/my-obj',
data: JSON.stringify(myObj),
dataType: 'json',
processData: false,
contentType: 'application/json'
});
BTW, Genson работает с конструкторами, которые тоже принимают аргументы. Просто включите его через GensonBuilder.useConstructorWithArguments (true) – eugen