DeretCode|

Tips, Trik dan Tutorial
Seputar IT, Coding, Internet Marketing, Keahlian, Pendidikan, Hobi Dan Lainnya
Night :

Tutorial Cara Memparsing Json Ke Bentuk Object Model - Android

advertisement
      
Tutorial Cara Parsing Json To Obect Di Android
Membuat aplikasi terintegrasi tidak akan terlepas dari yang namanya Rest Api. Karena terkadang, dalam membangun sebuah sistem kita menggunakan lebih dari satu bahasa pemrograman. Untuk dapat saling bertukar data, maka data yang dikirim harus berupa format data yang di kenali oleh setiap bahasa pemrograman. Format data yang umum digunakan yaitu XML dan Json.

Namun kali ini untuk sementara kita tidak akan membahas fortmat xml tapi akan fokus ke json. Sesuai yang tertera pada judul di atas, kita akan coba memparsing data json yang kita dapatkan menjadi object yang dapat di proses di bahasa pemrograman android kotlin maupun java.

Tutorial ini mungkin akan sangat bermanfaat bagi kalian yang mulai menjadi seorang android front end programmer (pemula), dan bagi yang sudah expert mungkin bisa memberikan masukan pada artikel kali ini. Disini kita akan menggunakan library dari google untuk memparsing jsonnya ke bentuk object yaitu Gson  library. Oke langsung saja ke tutorialnya.

Instalasi

Buka app module build.gradle project android kalian dan dibagian dependecies masukan code berikut
dependencies {
  implementation 'com.google.code.gson:gson:2.8.6'
}
silahkan kalian singkronkan untuk mendownload package gsonnya

Cara Menggunakan

1. Sebagai contoh disini saya akan mencoba memparing data json dari reqres.in, link jsonnya sebagi berikut
https://reqres.in/api/users?page=1
Silahkan kalian copy dulu json yang ada di url tersebut 
 2. Buat class modelnya dari json format dengan cara buka jsonschema2pojo.org. Silahkan kalian paste json yang sebelumnya sudah kalian copy dan atur seperti pada gambar
  • Package sesusai nama packgae android kalian
  • Beikan nama classnya yg nanti akan jadi class model nya
  • Stle anotasinya kita menggunakan Gson
Kemudian kalian scroll ke bagian bawah dan klik tombol preview, dan silahkan kalian copy hasilnya
Kalian juga bisa langsung mendapatkan class model nya dalam bentuk zip file dengan mengklik zip.  Atau jika kalian ingin filenya dalam bentuk kotlin kalian bisa menggunakan www.json2kotlin.com.
3. Jika kalian mendownloadnya dalam bentuk zip, kalian bisa mengekstrak hasilnya dan menaruhnya dalam direktori package project android kalian. Jika kalian hanya mengcopy dari preview kalian bisa membuat class java. Klik kanan pada package, klik New dan klik Java Class
Cara membuat class java di android studio
Berikan nama class sesuai nama class pada saat kita mengaturnya di jsonschema2pojo.org
Silahkan kalian paste yang sudah kita copy kedalamnya, dan pasti error kan,, tinggal kalian perbaiki menjadi seperti ini.
package com.zain.tutorialgson;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
import java.util.List;
class Ad {
    @SerializedName("company")
    @Expose
    private String company;
    @SerializedName("url")
    @Expose
    private String url;
    @SerializedName("text")
    @Expose
    private String text;
    public String getCompany() {
        return company;
    }
    public void setCompany(String company) {
        this.company = company;
    }
    public String getUrl() {
        return url;
    }
    public void setUrl(String url) {
        this.url = url;
    }
    public String getText() {
        return text;
    }
    public void setText(String text) {
        this.text = text;
    }
}

class Datum {
    @SerializedName("id")
    @Expose
    private Integer id;
    @SerializedName("email")
    @Expose
    private String email;
    @SerializedName("first_name")
    @Expose
    private String firstName;
    @SerializedName("last_name")
    @Expose
    private String lastName;
    @SerializedName("avatar")
    @Expose
    private String avatar;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public String getFirstName() {
        return firstName;
    }
    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }
    public String getLastName() {
        return lastName;
    }
    public void setLastName(String lastName) {
        this.lastName = lastName;
    }
    public String getAvatar() {
        return avatar;
    }
    public void setAvatar(String avatar) {
        this.avatar = avatar;
    }
}

public class Deretcode {
    @SerializedName("page")
    @Expose
    private Integer page;
    @SerializedName("per_page")
    @Expose
    private Integer perPage;
    @SerializedName("total")
    @Expose
    private Integer total;
    @SerializedName("total_pages")
    @Expose
    private Integer totalPages;
    @SerializedName("data")
    @Expose
    private List<Datum> data = null;
    @SerializedName("ad")
    @Expose
    private Ad ad;
    public Integer getPage() {
        return page;
    }
    public void setPage(Integer page) {
        this.page = page;
    }
    public Integer getPerPage() {
        return perPage;
    }
    public void setPerPage(Integer perPage) {
        this.perPage = perPage;
    }
    public Integer getTotal() {
        return total;
    }
    public void setTotal(Integer total) {
        this.total = total;
    }
    public Integer getTotalPages() {
        return totalPages;
    }
    public void setTotalPages(Integer totalPages) {
        this.totalPages = totalPages;
    }
    public List<Datum> getData() {
        return data;
    }
    public void setData(List<Datum> data) {
        this.data = data;
    }
    public Ad getAd() {
        return ad;
    }
    public void setAd(Ad ad) {
        this.ad = ad;
    }

}
Kalo kalian merasa code diatas terlalu panjang, kalian bisa mengkonversinya ke kotlin ko jadi gak pake setter getter lagi.
4. Buat fungsi http request get nya untuk memperoleh data jsonnya dari reqres.in seperti di step pertama, jika kalian belum bisa melakan http request kalian bisa membuka tutorial cara membuat http request di android.
5. Kemudian json yang sudah kita dapat kita konversi ke bentuk string dan kita parsing ke bentuk object dengan menggunakan Gson. codenya seperti ini 
  • Jika Json Object 
    Deretcode objectDeretCode = new Gson().fromJson(response.toString(),Deretcode.class);
  • Jika Json Array
    TypeToken<List<Datum>> token = new TypeToken<List<Datum>>() {};
    List<Datum> listObject = gson.fromJson(data, token.getType());
    
Sehingga codenya kurang lebih seperti ini
AndroidNetworking.initialize(getApplicationContext());
        AndroidNetworking.get("https://reqres.in/api/users?page=1")
                .setPriority(Priority.LOW)
                .build()
                .getAsJSONObject(new JSONObjectRequestListener() {
                    @Override
                    public void onResponse(JSONObject response) {
                        //Memparsin data Jsonnya dengan Gson yang sudah kita install
                        Deretcode objectDeretCode = new Gson().fromJson(response.toString(),Deretcode.class);
                        for (Datum datum: objectDeretCode.getData()) {
                            Log.d("First Name:",datum.getFirstName());
                            Log.d("Last Name:",datum.getLastName());
                            Log.d("Email:",datum.getEmail());
                        }

                    }
                    @Override
                    public void onError(ANError error) {
                        Log.d("Error:",error.getMessage());
                    }
                });
Tambahan: Jika kalian ingin mengkonversi Object ke Json String codenya seperti ini
String JsonString =new Gson().toJson(objectModel);

    Sekian dulu tutorial parsing json ke object di android, terimakasih sudah mampir. Jangan lupa di share jika kalian merasa artikel ini bermanfaat, kalau ada pertanyaan silahkan tulis di kolom komentar. Good Luck!
advertisement



0 Komentar untuk " Tutorial Cara Memparsing Json Ke Bentuk Object Model - Android"

Silahkan berkomentar dengan baik dan bijak!