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
Lepaskan: 2024-10-30 03:21:28
asal
394 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk
  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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan