首頁 >Java >java教程 >如何在Android中使用GSON解析巢狀的JSON資料?

如何在Android中使用GSON解析巢狀的JSON資料?

Linda Hamilton
Linda Hamilton原創
2024-10-30 03:21:28396瀏覽

How to Parse Nested JSON Data with GSON in Android?

Android 中使用GSON 解析JSON 資料

問題:

問題:

如何解析JJSON SON Android 中使用GSON?

<code class="json">{
    "count": "12",
    "colbreak": 1,
    "name": "unary rels",
    "score": "9090",
    "Words": [
        {
            "count": 6,
            "word": "prp_għaċ-",
            "name": "prp_għaċ-",
            "score": 9.1,
            "Words": "kol",
            "seek": 2231297
        }
    ],
    "seek": 0
}</code>

問題:

<code class="java">public static <T> ArrayList<T> JsonParse(T t, String response) {
    // ...

    reader.beginObject();
    while (reader.hasNext()) {
        T cse = (T) gson.fromJson(reader, t.getClass());
        lcs.add(cse);
    }

    reader.endObject();

    // ...
}</code>

以下程式碼無法正確解析JSON 數據,導致「JsonSyntaxException」:

答案:🎜>答案:

  1. 要正確解析JSON 數據,請按照以下步驟操作:
讀取JSON 值
<code class="java">try {
    AssetManager assetManager = getAssets();
    InputStream ims = assetManager.open("file.txt");

    Gson gson = new Gson();
    Reader reader = new InputStreamReader(ims);

    GsonParse gsonObj = gson.fromJson(reader, GsonParse.class);

} catch(IOException e) {
    e.printStackTrace();
}</code>
  1. 讀取JSON 值
<code class="java">public class GsonParse {
    @SerializedName("count")
    private String count;

    // ...

    public String getCount() {
        return count;
    }

    public void setCount(String count) {
        this.count = count;
    }

    // ...
}

public class Words {
    @SerializedName("count")
    private String count;

    // ...

    public String getCount() {
        return count;
    }

    public void setCount(String count) {
        this.count = count;
    }

    // ...
}</code>

定義資料類別

  • 附加說明:
如有必要,將任何傳入的 JSON 資料轉換為 UTF-8 格式。 確保您已將參數包含在巢狀的「Words」類別中。

以上是如何在Android中使用GSON解析巢狀的JSON資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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