Как десериализовать 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 локально в моем проекте, и это работало нормально

Другие вопросы по тегам