Как десериализовать LocalDateTime с помощью Gson в Android?
Теперь gson десериализует LocalDateTime на моем весеннем загрузочном сервере, чтобы
"localDateTime": {
"date": {
"day": //someday,
"month": //somemonth
"year": //someyear
},
"time": {
"hours": //somehour,
"minutes": //someminute,
"seconds": //someseconds
}
}
Но когда я использую тот же самый API, десериализуйте его в Android, это исключение появляется:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.scmuapp, PID: 13821
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.time.LocalDate.toString()' on a null object reference
Это означает, что сам объект LocalDateTime не является нулевым, но базовые значения имеют. Теперь я точно знаю, что мой запрос заполнен 5 объектами, каждый из которых имеет дату и время и одинаковые значения, так как он был создан скриптом, поэтому нет причин, по которым они могут быть нулевыми, но оба они. Я получаю общий объект Page, который определен:
private int pageSize, page, elements, totalPages, total;
private List<T> content;
Содержимое списка содержит данные, в данном случае содержит набор «базовых значений», таких как строки и целые числа, но тогда LocalDateTime просто не анализирует должным образом. Любые идеи?
1 ответ
Я нашел причину. Это может быть связано с версией Android. Я не исправил это по отдельности, но в основном создал версию localdatetime локально в моем проекте, и это работало нормально