Parsing JSON dengan google-gson


Melanjutkan artikel contoh pengaksesan SInTA RESTful, ada satu layanan SInTA yang mengembalikan json array objek yang memiliki struktur class sebagai berikut :

public class SearchData {
    private String judul;
    private String nama;
    private String prodi;
    private String tahun;
    private String[] mtk;
    private String abstrak;

    // semua get dan set method terhadap atribut di atas
} 

Dalam sebuah aplikasi client yang memanggil layanan RESTful SInTA ini, kita harus melakukan parsin format JSON Array Objek yang pada umumnya memiliki format :

[{“field”:”value”, …}, …]

Oleh karena saya menggunakan bahasa pemrograman Java untuk mengakses layanan SInTA ini, saya mencoba menggunakan pustaka berlisensi Apache yang bernama google-gson. Saya merasa lebih nyaman ketika menggunakan pustaka ini untuk memparsing data JSON. Berikut adalah main program yang saya gunakan untuk memparsing JSON Array objek di atas:

public class TestQueryWS {

    public static void main(String[] args) {

        try {
            String query = "kompresi sms";
            String username = "<masukkan username Anda>";
            String key = "<masukkan key API Anda>";

            RestResponse result = Rootsinta.search(query, username, key);
            String data = result.getDataAsString();

            Gson gson = new Gson();
            Type listType = new TypeToken<List<SearchData>>() {}.getType();

            List<SearchData> s = new ArrayList<SearchData>();
            s = gson.fromJson(data, listType);

            for(SearchData i:s) {
                System.out.println(i.getJudul());
            }

        } catch (Exception ex) {
            ex.printStackTrace();
        }

    }
}

Hasilnya sangat memuaskan!