Hai sobat semua, kali ini saya akan membagikan sebuah cara tentang Parsing JSON menggunakan JAVA, mungkin beberapa dari anda tidak tahu apa yang disebut JSON dan apa yang bisa dilakukan oleh JSON ini.
JSON adalah sebuah Objek yang dibentuk oleh Javascript, JSON adalah objek yang bisa digunakan dan mudah dipahami oleh banyak bahasa pemrograman, JSON mempunyai banyak kelebihan dibandingkan dengan format XML yaitu JSON lebih ringan ,lebih mudah dipahami dan cocok untuk bermacam macam tipe data mulai dari String hingga Array Objek.
Banyak pengembang API yang menggunakan JSON sebagai sarana untuk transfer data karena JSON sangat ringan dan relatif mudah dibaca.
Pada kali ini saya akan mencoba menjelaskan bagaimana cara membaca JSON, pada kali ini saya menggunakan file JSON yang saya buat menggunakan API saya, jika anda tidak mempunyai anda dapat membuat file JSON menggunakan notepad atau yang lainya menggunakan json dibawah ini dan simpan di localhost anda.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
{ "contacts": [ { "id": "c200", "name": "Ravi Tamada", "email": "ravi@gmail.com", "address": "xx-xx-xxxx,x - street, x - country", "gender" : "male", "phone": { "mobile": "+91 0000000000", "home": "00 000000", "office": "00 000000" } }, { "id": "c201", "name": "Johnny Depp", "email": "johnny_depp@gmail.com", "address": "xx-xx-xxxx,x - street, x - country", "gender" : "male", "phone": { "mobile": "+91 0000000000", "home": "00 000000", "office": "00 000000" } } ] } |
Untuk membuat atau membaca JSON anda perlu sebuah library tambahan yang bisa anda download di website JSON sendiri, untuk kali ini saya menggunakan library org.json dan beberapa library yang lain seperti org.apache untuk handling url, dan slf4j untuk logger error.
Oke daripada berlama-lama mari kita mulai memparsing JSON, pertama kita buat sebuah class JSONparser yang digunakan untuk memparse file json tersebut dari url kita.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
/** *Bismillah[Dengan Menyebut Nama Allah] *-[F447H1N]- **/ package json; /** * * @author ahmadriyadh */ import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.DefaultHttpClient; import org.json.JSONException; import org.json.JSONObject; public class JSONparser { static InputStream is = null; static JSONObject jObj = null; static String json = ""; public JSONparser() { } public JSONObject getJSONFromUrl(String url) { // http request try { DefaultHttpClient httpClient = new DefaultHttpClient(); HttpPost httpPost = new HttpPost(url); HttpResponse httpResponse = httpClient.execute(httpPost); HttpEntity httpEntity = httpResponse.getEntity(); is = httpEntity.getContent(); } catch (UnsupportedEncodingException | ClientProtocolException e) { } catch (IOException e) { // TODO: handle exception e.printStackTrace(); } try { BufferedReader reader = new BufferedReader(new InputStreamReader( is, "iso-8859-1"), 8); StringBuilder sb = new StringBuilder(); String line = null; while ((line = reader.readLine()) != null) { sb.append(line).append("\n"); } is.close(); json = sb.toString(); } catch (Exception e) { // TODO: handle exception System.out.println("Error"); } // try parse string to a json try { jObj = new JSONObject(json); } catch (JSONException e) { // TODO: handle exception System.out.println("Error"); } return jObj; } } /** *This Program is for Educational Purpose, Don't change The Watermark *This Program was built by :F447H1N *https://www.faathin.com *minions1337@fbi.al / fb.com/R00TKs /_faathin *Shalom Ale'ichem **/ |
setelah membuat class ini maka kita tinggal membuat sebuah main class untuk mencoba memparse json diatas tadi, jangan lupa untuk import semua library tersebut ke project anda terlebih dahulu.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
/** *Bismillah[Dengan Menyebut Nama Allah] *-[F447H1N]- * */ package json; /** * * @author ahmadriyadh */ import org.json.*; public class jsonMAIN { private static final String URL = "http://localhost/tester.json"; static JSONparser parser = new JSONparser(); public static JSONObject getObject() { JSONObject json = null; try { json = parser.getJSONFromUrl(URL); } catch (Exception e) { System.out.println(e); } return json; } public static void main(String[] args) { try { System.out.println("DATA"); /*deklarasi JSONObject jsonObj yang mendapat data dari method jsonObj*/ JSONObject jsonObj = getObject(); //deklarasi array contacts dari objek jsonObj JSONArray contacts = jsonObj.getJSONArray("contacts"); //Membgambil data dari array contacts for (int i = 0; i < contacts.length(); i++) { JSONObject c = contacts.getJSONObject(i); String id = c.getString("id"); String name = c.getString("name"); String email = c.getString("email"); String address = c.getString("address"); String gender = c.getString("gender"); //deklarasi object phone dari array contact JSONObject phone = c.getJSONObject("phone"); //mengambil data dari array phone String mobile = phone.getString("mobile"); String home = phone.getString("home"); String office = phone.getString("office"); //mencetak data System.out.println("id : " + id); System.out.println("Name : " + name); System.out.println("gender : " + gender); System.out.println("Address : " + address); System.out.println("Email : " + email); System.out.println("PHONE "); System.out.println(" -Mobile: " + mobile); System.out.println(" -Home : " + home); System.out.println(" -Office: " + office); System.out.println("----------------------"); } } catch (Exception e) { System.out.println(e); } } } /** *This Program is for Educational Purpose, Don't change The Watermark *This Program was built by :F447H1N *https://www.faathin.com *minions1337@fbi.al / fb.com/R00TKs /_faathin *Shalom Ale'ichem **/ |
Untuk algoritma dari program ini sangatlah sederhana, anda cukup membaca source code diatas pasti akan paham, untuk memudahkan saya buat comment diatas setiap baris penting agar anda lebih mudah untuk memahaminya, pada dasarnya kita hanya mengambil data dari setiap variabel yang tersimpan didalam array yang ada pada json object tersebut dan mengubahnya menjadi bentuk yang bisa dipahami java dan programmer.

Oke, demikian tutorial singkat tentang cara parsing json di java, semoga dengan tutorial ini menambah pengetahuan anda dan membuat anda lebih semangat lagi untuk memahami java, jika ada hal yang tidak anda pahami dapat anda tanyakan melalui kolom komentar dibawah ini, bye and have nice day…
ohh ternyata gitu .. makasih ilmunya
Wah thanks gan saya jadi makin tahu tentang json (y)
ini yg ane cari2 nice gan
gabisa dicopy elah