ホームページ >Java >&#&チュートリアル >Android で GSON を使用してネストされた JSON データを解析するにはどうすればよいですか?

Android で GSON を使用してネストされた JSON データを解析するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-30 03:21:28387ブラウズ

How to Parse Nested JSON Data with GSON in Android?

Android の GSON を使用した JSON データの解析

質問:

JSON データを解析する方法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>

次のコードは JSON データを正しく解析せず、「JsonSyntaxException」が発生します:

<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 データを正しく解析するには、次の手順に従います:

  1. 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. データ クラスを定義します:
<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>

追加メモ:

  • HTTP 経由で JSON データを送信する場合は、UTF-8 エンコーディングが使用されていることを確認してください。
  • 必要に応じて、受信した JSON データを UTF-8 形式に変換します。
  • ネストされた「Words」クラスにパラメータが含まれています。

以上がAndroid で GSON を使用してネストされた JSON データを解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。