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

Kebodohan Karyawan Menyalahkan Sistem

Kode Apps Script MailApp untuk Form Mengirimkan Email

Checking Data yang Belum Dimasukkan dalam Daftar Menggunakan Query Google Sheet

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

Menyembunyikan Failed Load Images di Blogger

Apps Script untuk Mengirimkan Notifikasi Approval

Algorithma Bilangan Prima dengan Javascript

Mencoba Submit Theme di Wordpress.org

Menghapus Baris di Google Sheets yang Memiliki Sel Kosong dengan Apps Script