Convert ArrayList ke String JSon menggunakan GSon pada Java Android

Hei semua, udah lama sekali nih saya tidak memperbarui blog ini dengan postingan… haha Maklum karena sudah bekerja maka waktu saya untuk menulis di sini pun jadi semakin berkurang. 🙂 Berbeda dengan jaman-jaman kuliah yang nampaknya sangat santai.

Kali ini saya akan membuat tutorial tentang bagaimana cara mengkonversi ArrayList<T> dimana T adalah suatu objek dengan tipe tertentu, ke dalam String menggunakan GSon. Mungkin beberapa dari kalian ada yang heran, mengapa topiknya kurang familiar di telinga. Sebenarnya memang ini adalah topik advanced yang hanya bisa digunakan pada saat-saat tertentu. Tapi karena waktu yang dibutuhkan untuk menulis topik beginian tidak banyak, mungkin juga tulisan-tulisan saya lainnya yang akan saya post-kan di blog ini juga tentang topik-topik yang advanced. 😀

Jadi cerita dimulai saat saya bermaksud untuk mengkonversi ArrayList yang berisi objek berupa LatLong ke String. Array latitude dan longitude tersebut didapat dari Google Maps pada saat menghasilkan direction atau petunjuk arah dari satu koordinat ke koordinat lainnya. Mungkin lain kali saya akan bahas juga tentang bagaimana mendapatkan Direction pada Android Maps API.

Untuk proses pengkonversian, saya menggunakan library JSon milik Google, yaitu GSon. Ada fungsi yang sangat bermanfaat di library tersebut. Yaitu fungsi toJSon() yang otomatis akan mengkonversi objek apapun ke dalam String.

Namun setelah dikonversi ke dalam String, tentunya objek tersebut harus bisa dikembalikan lagi ke objek awal mulanya, dari String. Nah untuk melakukan hal itu, kita harus mendefinisikan tipe dari objek tersebut menggunakan Java Reflection yang nantinya akan digunakan lagi untuk mengembalikan JSon String tersebut ke objek asal.

Pertama-tama, setelah mendapatkan direction yang berupa array latitude dan longitude, kita akan menginisialisasi Gson. Langkah selanjutnya adalah mendefisikan Type dari objek array list tersebut menggunakan TypeToken.

ArrayList<LatLng> directionPoint = md.getDirection(doc);
Gson gson = new Gson();
Type listOfTestObject = new TypeToken<ArrayList<LatLng>>(){}.getType();

Setelah itu, kita bisa langsung mengkonversikan objek tersebut ke dalam Json, dengan mengikutsertakan tipe objeknya.

String json = gson.toJson(directionPoint, listOfTestObject);

Ketika ingin mengkonversi ulang, dari String ke objek, kita tinggal panggil kode berikut.

ArrayList<LatLng> directionPoint = (ArrayList<LatLng>) gson.fromJson(json,listOfTestObject);

Semoga berguna! 🙂





Download aplikasi kami di Google Play Store


Tutorial Menarik Lainnya :

4 Comments

  1. PRATIWI WIDHI SARI December 19, 2013
  2. Danis February 18, 2014
    • Hafizh Herdi Naufal August 4, 2014

Leave a Reply

Do NOT follow this link or you will be banned from the site!