首頁  >  文章  >  Java  >  如何修復 Gson 解析中的“Expected BEGIN_ARRAY but was BEGIN_OBJECT\”錯誤?

如何修復 Gson 解析中的“Expected BEGIN_ARRAY but was BEGIN_OBJECT\”錯誤?

Linda Hamilton
Linda Hamilton原創
2024-10-26 17:34:02663瀏覽

How to Fix the

錯誤:預期為BEGIN_ARRAY,但實際為BEGIN_OBJECT

當Gson 需要JSON 物件數組,但遇到物件時,會發生此錯誤。

伺服器 URL 和請求:

伺服器 URL 傳回一個包含有關時區詳細資訊的 JSON 物件。該請求是使用 HttpClient 執行的。

Post 類別:

Post 類別定義一個 POJO 來表示 JSON 回應。它有一個屬性:timeZoneId。

錯誤原因:

發生錯誤是因為 Gson 配置為期望 Post 物件數組,但 JSON 回應是實際上是物件。

解決方案:

要解決該錯誤,請修改程式碼以處理單一Post 物件而不是陣列:

<code class="java">Post post = gson.fromJson(reader, Post.class);</code>

這將指示Gson 將JSON 回應解析為單一Post 對象,這將不再觸發「Expected BEGIN_ARRAY」錯誤。

以上是如何修復 Gson 解析中的“Expected BEGIN_ARRAY but was BEGIN_OBJECT\”錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn