Я работаю над сервлетом Java, и мне нужно сериализовать и десериализовать класс в JSON и обратно.Для этого я использую библиотеку Genson, но попадаю в ловушку.
Genson не удается десериализовать экземпляры класса Date (java.sql.Date)
Я попытался установитьпользовательские форматеры даты, но они, похоже, не влияют на десериализацию.
Я также пытался подключить новые конвертеры с помощью вызова компоновщика withConverter (), но я не могу понять, как работают параметры.
Вот мой вызов конструктора на данный момент
Genson genson = builder.setSkipNull(true).create();
Класс, который я сериализую, имеет поле типа Дата
private Date introDate;
Это фрагмент трассировки стека.это происходит, если я пытаюсь десериализовать полученный JSON
Caused by: com.owlike.genson.JsonBindingException: Could not access value of property named 'hours' using accessor public int java.sql.Date.getHours() from class java.sql.Date
at com.owlike.genson.reflect.PropertyAccessor.couldNotAccess(PropertyAccessor.java:40)
at com.owlike.genson.reflect.PropertyAccessor$MethodAccessor.access(PropertyAccessor.java:70)
at com.owlike.genson.reflect.PropertyAccessor.serialize(PropertyAccessor.java:24)
at com.owlike.genson.reflect.BeanDescriptor.serialize(BeanDescriptor.java:92)
at com.owlike.genson.convert.NullConverterFactory$NullConverterWrapper.serialize(NullConverterFactory.java:69)
at com.owlike.genson.reflect.PropertyAccessor.serialize(PropertyAccessor.java:27)
... 38 more
. Проблема в том, что такие методы, как getHours (), устарели, поэтому их вызов вызывает исключение IllegalArgumentException.Я не знаю, как обойти это в данный момент.