Error: Expected BEGIN_ARRAY but was BEGIN_OBJECT
當 Gson 需要 JSON 物件陣列,但遇到此物件時,會發生錯誤。
伺服器 URL 和請求:
伺服器 URL 傳回一個 JSON 對象,其中包含有關時區的詳細資訊。使用 HttpClient 執行請求。
Post 類別:
Post 類別定義了一個 POJO 來表示 JSON 回應。它有一個屬性:timeZoneId.
錯誤原因:
發生錯誤是因為 Gson 配置為需要 Post 物件數組,但 JSON 回應實際上是一個物件。
解決方案:
要解決該錯誤,請修改程式碼以處理單一物件Post 物件而不是陣列:
Post post = gson.fromJson(reader, Post.class);
這將指示Gson 將JSON 回應解析為單一Post對象,這將不再觸發“預期 BEGIN_ARRAY”錯誤。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3