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

Apps Script untuk Cetak Sertifikat

Kumpulan Source Code Greenfoot

Menyembunyikan Failed Load Images di Blogger

Kode Greenfoot Game Flappy Bird

Algorithma Coretan Abstrak dengan HTML5 Canvas

Kebodohan Karyawan Menyalahkan Sistem

Algorithma Bilangan Prima dengan Javascript

Checking Data yang Belum Dimasukkan dalam Daftar Menggunakan Query Google Sheet

Mencoba Submit Theme di Wordpress.org

Generate Karakter Acak dan Menempatkannya di Sel Google Sheets dengan Apps Script