Rumah >Java >javaTutorial >Bagaimana untuk Menghuraikan Data JSON Bersarang dengan GSON dalam Android?

Bagaimana untuk Menghuraikan Data JSON Bersarang dengan GSON dalam Android?

Linda Hamilton
Linda Hamiltonasal
2024-10-30 03:21:28387semak imbas

How to Parse Nested JSON Data with GSON in Android?

Menghuraikan Data JSON dengan GSON dalam Android

Soalan:

Cara menghuraikan data JSON menggunakan GSON dalam Android?

Masalah:

<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>

Kod berikut tidak menghuraikan data JSON dengan betul, mengakibatkan "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>

Jawapan:

Untuk menghuraikan data JSON dengan betul, ikut langkah berikut:

  1. Baca Nilai 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. Tentukan Kelas Data:
<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>

Nota Tambahan:

  • Pastikan pengekodan UTF-8 digunakan semasa menghantar data JSON melalui HTTP.
  • Tukar sebarang data JSON yang masuk kepada format UTF-8 jika perlu.
  • Pastikan anda mempunyai termasuk parameter dalam kelas "Perkataan" bersarang.

Atas ialah kandungan terperinci Bagaimana untuk Menghuraikan Data JSON Bersarang dengan GSON dalam Android?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn