簡體   English   中英

如何在 android 中使用 Gson 反序列化 LocalDateTime?

[英]How do i deserialize LocalDateTime using Gson in android?

現在 gson 將我的 spring 引導服務器中的 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 object 本身不是 null,但基礎值是。 現在我知道我的請求中填充了 5 個對象,所有對象都具有日期和時間,並且值相等,因為它是腳本創建的,因此它們沒有理由成為 null,但兩者都是。 我收到一個頁面通用 object 定義:

    private int pageSize, page, elements, totalPages, total;
    private List<T> content;

List 內容帶來了數據,在這種情況下有一堆“基本值”,也就是字符串和整數,但是 LocalDateTime 只是沒有正確解析。 有任何想法嗎?

我找到了一個理由。 可能與 android 版本有關。 我沒有按說修復它,但基本上在我的項目中本地創建了一個 localdatetime 版本並且效果很好

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM