Menggunakan pustaka Gson, bagaimana cara mengonversi string JSON ke ArrayList
kelas khusus JsonLog
? Pada dasarnya, JsonLog
ini adalah antarmuka yang diimplementasikan oleh berbagai jenis log yang dibuat oleh aplikasi Android saya - log SMS, log panggilan, log data - dan ini ArrayList
adalah kumpulan dari semuanya. Saya terus mendapatkan kesalahan di baris 6.
public static void log(File destination, JsonLog log) {
Collection<JsonLog> logs = null;
if (destination.exists()) {
Gson gson = new Gson();
BufferedReader br = new BufferedReader(new FileReader(destination));
logs = gson.fromJson(br, ArrayList<JsonLog>.class); // line 6
// logs.add(log);
// serialize "logs" again
}
}
Tampaknya kompiler tidak mengerti maksud saya mengetik ArrayList
. Apa yang saya lakukan?
Jawaban:
Anda dapat menggunakan TypeToken untuk memuat string json ke objek kustom.
Dokumentasi:
Kotlin:
Jika Anda perlu melakukannya di Kotlin, Anda dapat melakukannya seperti ini:
Atau Anda dapat melihat jawaban ini untuk berbagai alternatif.
sumber
{ }
.getType()
Sampel JSON Anda adalah:
jadi jika Anda ingin menyimpan daftar array modul di SharedPrefrences Anda, maka:
1- akan mengonversi arraylist Anda yang dikembalikan ke format json menggunakan metode ini
2- Simpan di prefreneces bersama
3 - untuk mengambilnya kapan saja dapatkan JsonString dari preferensi Bersama seperti itu
4- mengubahnya lagi menjadi daftar array
solusi ini juga dapat dilakukan jika Anda ingin mem-parsing ArrayList of Objects Semoga ini membantu Anda dengan menggunakan Gson Library .
sumber
Jika Anda ingin menggunakan Array, itu sangat sederhana.
Berikan
JsonLog
sebagai arrayJsonLog[].class
sumber
ATAU
sumber
Mengapa tidak ada yang menulis cara sederhana ini untuk mengubah string JSON di Daftar ?
sumber
Saya tidak yakin tentang gson tetapi ini adalah bagaimana Anda melakukannya dengan Jon. Saya harap ada cara yang sama dengan menggunakan gson
{"Pemain": ["pemain 1", "pemain 2", "pemain 3", "pemain 4", "pemain 5"]}
===============================================
sumber
Anda memiliki string seperti ini.
Kemudian Anda dapat menyamarkannya ke ArrayList melalui Gson like
Kelas HotelInfo Anda harus seperti ini.
sumber