Sunday, December 16, 2018

Gson vs Jackson

Gson & Jackson adalah sebuah library Java untuk mengkonversi Object ke dalam bentuk JSON format pertukaran data berbentuk text sehingga mudah di baca oleh manusia , itu penjelasan singkatnya. Ada banyak library yang bisa mengkonversi object Java ke JSON kali ini saya sedikit membahas Gson vs Jackson.

GSON 
untuk mengunakan GSON library buatan Google ini di maven kita perlu inject dependecy : 
<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.8.2</version>
</dependency>
Sebelumnya kita membuat Model Class dulu :
public class User {
    
    public String name, email;
    public int umur;
    
    public User(String name, String email, int umur){
        this.name = name;
        this.email = email;
        this.umur = umur;
    }
    
}
untuk melakukan percobaan GSON kita buat class Main :

public class Main {
    
    public static void main(String[] args) {
        
        User mUser = new User("Test GSON", "madon@nostratech.com", 22);
        
        // ubah objek menjadi string JSON
        Gson gson = new Gson();
        String jsonUser = gson.toJson(mUser);
        
        System.out.println(jsonUser);
        
        
        // ubah string JSON menjadi Objek
        Gson gsonBuilder = new GsonBuilder().create();
        User myUser = gsonBuilder.fromJson(jsonUser, User.class);
        System.out.println(myUser.name);
    }
    
}


Kelebihan dan Kekurangan GSON
1. Jika ada suatu object yang 'null' Gson tidak akan menampilkan objectnya
2. Performance lebih baik untuk di implementasi pada Android
3. Performance lebih lambat untuk transfer data yang besar


JACKSON
Pertama , Inject dependecy jackson pada maven 
<dependency> 
   <groupId>com.fasterxml.jackson.core</groupId> 
   <artifactId>jackson-databind</artifactId> 
   <version>2.9.8</version> 
</dependency>
dan untuk Jackson cara penggunaannya sebagai berikut
public class Main {
    
    public static void main(String[] args) {
        
        User mUser = new User("Test GSON", "madon@nostratech.com", 22);
        
        // ubah objek menjadi string JSON
        ObjectMapper objectMapper = new ObjectMapper();
        String jsonUser = objectMapper.writeValue(mUser);
        
        System.out.println(jsonUser);
        
        // ubah string JSON menjadi Objek
        Gson gsonBuilder = new GsonBuilder().create();
        User myUser = objectMapper.readValue(jsonUser, User.class);
        System.out.println(myUser.name);
    }
    
}

Kelebihan dan kekurangan Jackson
1. Berkinerja lebih cepat  untuk transfer data besar dibandingkan dengan GSON
2. Data Binding convert dari dan ke Pojo's
3. Membaca dan menulis aktivitas JSON sebagai content diskrit

Berikut adalah perbandingan kinerja JACKSON dan GSON





Kesimpulannya  , jika anda memuat data transfer yang banyak lebih baik menggunakan Jacskon dan untuk memuat data yang lebih kecil / untuk android lebih baik menggunakan GSON , kesimpulan ini diambil berdasarkan perbandingan kecepatan performance dari masing-masing library di atas . Sekian dari saya 


No comments:

Post a Comment