Gson發生錯誤訊息: Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was NUMBER at line 1 column 10 path


會發生這個錯誤訊息的原因,在於定義某個Json回傳格式有錯誤,像是上述的錯誤就是定義回傳為Object,但收到API回傳的格式為Number

假設我們有個api回傳的JSON如下:
而在撰寫Gson class時定義時不小心寫錯了回傳格式:


就會發生上述的錯誤訊息,解決的方法,再仔細檢查一遍定義格式的Gson class有沒有寫錯,改成下圖的格式就正確了。因為api回傳的JsonObject第一個值是int, 之後才是包了JsonArrary。

留言

這個網誌中的熱門文章

Mac安裝JDK後仍出現沒有runtime的錯誤 No Java runtime present, requesting install

Android使用Callback做為傳遞資料/通知的方法

如何實作從API抓取資料顯示在列表頁(ListView)上