Konversi Java Object ke JSON dengan Jackson 2

JSON

Apakah kalian pernah dengar tentang JSON? ini bukan nama orang loh ya. JSON adalah suatu format object yang dapat menyimpan data.

JSON ini lumayan banyak digunakan. Itu dikarenakan sifat JSON yang sangan ringan sehingga tidak memberatkan proses aplikasi. Dan biasanya JSON ini digunakan untuk tukar menukar data antara dua mesin (yang biasanya antara Client dan Server). Tapi bisa ga sih Java Object yang umumnya kita pakai, seperti String, List, Map, dll dikonversi ke dalam bentuk JSON? Tentu saja bisa! Ada banyak library di luar sana yang dapat kita gunakan untuk konversi Java Object ke JSON atau sebaliknya. Dalam kesempatan kali ini saya akan menggunakan library yang bernama Jackson 2. Langsung aja ya!

Download Jackson 2 Library

Ada tiga file *.jar yang harus kita download, yaitu

  1. jackson-core-2.8.8
  2. jackson-annotations-2.8.0
  3. jackson-databind-2.8.8

Lalu import ketiga file .jar tersebut ke dalam project java kalian.

Konversi Java Object menjadi JSON

Di sini, kita akan menggunakan class ObjectMapper dari library yang kita import tadi.

Konversi Java Object ke Dalam JSON


// TODO Auto-generated method stub
ObjectMapper mapper = new ObjectMapper();
Map<String, String> obj = new HashMap<String, String>();
obj.put("Nama", "Adi");
obj.put("Alamat", "Bogor");
obj.put("Pekerjaan", "Presiden");


try {
	//Object to JSON in file
	mapper.writeValue(new File("c:\\file.json"), obj);
	
	//Object to JSON in String
	String jsonInString = mapper.writeValueAsString(obj);
	System.out.print(jsonInString);
} catch (JsonParseException e) {
	// TODO Auto-generated catch block
	e.printStackTrace();
} catch (JsonMappingException e) {
	// TODO Auto-generated catch block
	e.printStackTrace();
} catch (IOException e) {
	// TODO Auto-generated catch block
	e.printStackTrace();
}

Ketika di-compile dan dijalankan, maka hasil dari konversi tersebut adalah seperti ini:

{“Alamat”:”Bogor”,”Pekerjaan”:”Presiden”,”Nama”:”Adi”}

Konversi String JSON ke Dalam Java Object


ObjectMapper mapper = new ObjectMapper();
String jsonInString = "{\"Alamat\":\"Bogor\",\"Pekerjaan\":\"Presiden\",\"Nama\":\"Adi\"}";
try {
	//JSON from file to Object
	Map obj1 = mapper.readValue(new File("c:\\file.json"), Map.class);
	
	//JSON from URL to Object
	Map obj2 = mapper.readValue(new URL("http://mkyong.com/api/staff.json"), Map.class);

	//JSON from String to Object
	Map obj3 = mapper.readValue(jsonInString, Map.class);
	System.out.print(obj3);
} catch (JsonParseException e) {
	// TODO Auto-generated catch block
	e.printStackTrace();
} catch (JsonMappingException e) {
	// TODO Auto-generated catch block
	e.printStackTrace();
} catch (IOException e) {
	// TODO Auto-generated catch block
	e.printStackTrace();
}

Bagaimana? Sangan mudah bukan? Ini karena contoh di atas adalah contoh yang paling simple 🙂

Bahkan kalian dapat mengonversi class POJO buatan kalian sendiri ke dalam object JSON. Untuk Selanjutkan kalian bisa mengembangkan sendiri untuk apa object JSON ini kalian gunakan.

Cukup itu saja postingan saya kali ini. Semoga bermanfaat utuk kita semua.

Wassalam

2 Comments

Add a Comment

Your email address will not be published. Required fields are marked *