Menggunakan JSON di Netbeans 8.2

Tidak disangka penulis, library JSON ternyata tidak disertakan menjadi default dari JDK Netbeans.

Developer harus menambahkan sendiri, jika membutuhkan JSON dalam aplikasinya.

Cara yang paling mudah adalah dengan mendownload dan menambahkan sebagai library di folder Libraries di Netbeans.


Sedangkan penulis, mendapatkan library JSON dari Google Code Archive, dengan link dibawah ini:


Perlu diketahui, penulis menggunakan NetBeans 8.2, dengan  JDK (Java Development Kit) versi 8.

Alasan penulis memilih library JSON dari Google, pertama karena faktor kepercayaan, terutama terkait sisipan malware atau semacamnya.

Dari beberapa link yang disediakan oleh Google Search, menurut penulis, link di atas adalah satu link yang dapat dipercaya.

Tidak lucu jika library pihak ketiga yang kita gunakan, sebagai developer, ternyata disisipi malware.

Kedua, produk akhir aplikasi Java penulis adalah berbentuk aplikasi Android dengan bahasa pemrograman Java.

Sehingga dengan menggunakan library yang "sama", penulis berharap modifikasi yang akan dilakukan di versi Android-nya nanti tidak terlalu banyak.

Kode dibawah ini adalah contoh kode untuk melakukan parsing data JSON yang diambil melalui InputStream, dengan HttpsURLConnection:

    private void sendLogin() 
    { 
        onsendingdata=true; 
        errormessage.setText("Sending data, please wait!"); 

        Map<String,String> data = new HashMap<>(); 
        data.put("username",username_text.getText()); 
        data.put("password",String.valueOf(password_text.getPassword())); 

        StringBuilder sbParams = new StringBuilder(); 
        int i = 0; 
        for (String key : data.keySet()) { 
            try { 
                if (i != 0){ 
                    sbParams.append("&"); 
                } 
                sbParams.append(key).append("=") 
                        .append(URLEncoder.encode(data.get(key), "UTF-8")); 
 
            } catch (UnsupportedEncodingException e) { 
                e.printStackTrace(); 
            } 
            i++; 
        } 

        HttpsURLConnection connection=null; 
        try{ 
            URL url = new URL("https://example.com/login.php"); 
            connection = (HttpsURLConnection)url.openConnection(); 
            connection.setReadTimeout(15000); 
            connection.setConnectTimeout(15000); 
            connection.setDoInput(true); 
            connection.setDoOutput(true); 

            String paramsString = sbParams.toString(); 
 
            DataOutputStream wr = new DataOutputStream(connection.getOutputStream()); 
            wr.writeBytes(paramsString); 
            wr.flush(); 
            wr.close(); 

            connection.connect(); 

            int responseCode=connection.getResponseCode(); 
            if (responseCode == HttpsURLConnection.HTTP_OK) { 
                errormessage.setText("Getting response!"); 
                InputStream in = new BufferedInputStream(connection.getInputStream()); 

                JSONParser jsonParser = new JSONParser(); 
                JSONObject jsonObject = (JSONObject) jsonParser.parse(new InputStreamReader(in)); 
 
                if(((String) jsonObject.get("error")).isEmpty()){ 
                    if(karyawan!=null)karyawan.setLoginPrivilages((String) jsonObject.get("username"),(String)jsonObject.get("password")); 
                }else{ 
                    JOptionPane.showMessageDialog(null,(String)jsonObject.get("error")); 
                    errormessage.setText("Failed!"); 
                } 
            }else{ 
                JOptionPane.showMessageDialog(null,"Error code "+responseCode); 
                errormessage.setText("Failed!"); 
            } 
        } catch (IOException | ParseException e) { 
            errormessage.setText("Failed!"); 
            JOptionPane.showMessageDialog(null,e.toString()); 
            onsendingdata=false; 
        } finally { 
          if (connection != null) { 
              connection.disconnect(); 
          } 
          onsendingdata=false; 
        } 
    } 

Dimana struktur data JSON dari URL login.php, yang dibaca kurang lebih sebagaimana berikut:

    {
         "username":"administrator",
         "password":"WFairK2xjni0wukPWLSkAwAgwOSuI12FHd",
         "error":""
    }

Referensi

Komentar



Postingan populer dari blog ini

Kumpulan Source Code Greenfoot

Game TicTacToe dengan Greenfoot

Algorithma Coretan Abstrak dengan HTML5 Canvas

Cara Membuat Halaman HTML Sederhana

Honeycomb Style Wallpaper dengan HTML5 Canvas

Ganti Kartu ATM BNI yang Rusak

Mencoba Submit Theme di Wordpress.org

Tips Agar Website Anda Segera di Terima oleh Google Adsense dan di-Monetize

Selamatan Latar Glundengan Bubuk Banyuwangi

Kode Greenfoot Game Snake Sederhana