# Hack Your Skills! to be Professional Mechatronics
Atau bisa dengan menjalankan perintah SQL serperti di bawah ini.
Berikut ini contoh script java untuk melakukan encode dan decode JSON.
Encode dan Decode JSON Data dengan Java
Sebelumnya kita telah mempelajari tentang bagaimana cara kerja dan format JSON. Bagi yang belum mengikuti pembahasannya, diharap menengoknya terlebih dahulu di Bacaan Wajib Programmer : Mengenal Data JSON Lebih Dekat. Untuk kali ini kita langsung ke koding dan sedikit penjelasannya. Semoga bermanfaat. :)
Untuk Java, yang kita gunakan pada percobaan kali ini yaitu menggunakan API JSON yang bernama json-simple dalam bentuk jar file, bisa langsung didownload di code.google.com. Dengan bantuan API ini, kita lebih mudah dalam memprogram tentunya. Setelah didownload, tambahkan, jar tersebut ke library editor kita. Jika menggunakan netbean, di bagian project - Library - Klik kanan, lalu Add Jar/Folder. Setelah itu ambil jar json-simple yang telah kita download.
Setelah itu, siapkan database yang akan dibuat. Buatlah database dengan isi sebagai berikut:
Atau bisa dengan menjalankan perintah SQL serperti di bawah ini.
CREATE DATABASE /*!32312 IF NOT EXISTS*/`bukubase` /*!40100 DEFAULT CHARACTER SET latin1 */; USE `bukubase`; /*Table structure for table `daftar_buku` */ DROP TABLE IF EXISTS `daftar_buku`; CREATE TABLE `daftar_buku` ( `buku_kode` int(11) NOT NULL, `buku_judul` varchar(100) DEFAULT NULL, `buku_penerbit` varchar(100) DEFAULT NULL, `buku_tahun` year(4) DEFAULT NULL, PRIMARY KEY (`buku_kode`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; /*Data for the table `daftar_buku` */ insert into `daftar_buku`(`buku_kode`,`buku_judul`,`buku_penerbit`,`buku_tahun`) values (1,'Wordpress Advanced','Neomedia',2001),(2,'PHP For Evil Genius','Socka Inc.',1999),(3,'Linux Kernel For Breakfast','Socka Inc.',2009),(4,'Play With Perl Undercover for Evil genius','Socka Inc.',2009),(5,'Android Cook Book For Mother','Dopler Crook',2008);
Berikut ini contoh script java untuk melakukan encode dan decode JSON.
/* * To change this template, choose Tools | Templates * and open the template in the editor. */ import java.io.IOException; import java.io.StringWriter; import java.io.Writer; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import java.util.LinkedHashMap; import org.json.simple.*; import org.json.simple.parser.JSONParser; /** * * @author x86, haripinter in case :P * */ public class Json { /** * @param args the command line arguments */ // class untuk pengumpulan data sebelum diencode ke format JSON // input : String[] key -> String[] value static class pushdata implements JSONStreamAware{ private String[] key; private String[] value; public pushdata(String[] key, String[] value){ this.value = value; this.key = key; } public void writeJSONString(Writer writer) throws IOException { LinkedHashMap obj = new LinkedHashMap(); for(int i=0; i<key.length; i++){ obj.put(key[i], value[i]); } JSONValue.writeJSONString(obj, writer); } } public static void main(String[] args) { String host = "localhost"; String debe = "bukubase"; String user = "root"; String pass = ""; Connection con = null; Statement sta = null; try{ Class.forName("org.gjt.mm.mysql.Driver"); con = DriverManager.getConnection("jdbc:mysql://"+host+"/"+debe,user,pass); sta = con.createStatement(); }catch(Exception e){ } try{ System.out.println("===================================="); System.out.println("Sebelum diencode menjadi format JSON"); System.out.println("===================================="); // inisialisasi JSONArray dan pengambilan data dari database JSONArray js = new JSONArray(); ResultSet res = sta.executeQuery("select * from daftar_buku order by buku_kode"); while(res.next()){ //cetak sebelum mnejadi string JSON System.out.println(res.getString("buku_kode")); System.out.println(res.getString("buku_judul")); System.out.println(res.getString("buku_penerbit")); System.out.println(res.getString("buku_tahun")); // membuat key dan value untuk dipush ke json String[] key = { "buku_kode", "buku_judul", "buku_penerbit", "buku_tahun" }; String[] value = { res.getString("buku_kode"), res.getString("buku_judul"), res.getString("buku_penerbit"), res.getString("buku_tahun") }; // kelompokkan data untuk dibuat json js.add(new pushdata(key,value)); } // encode ke format JSON StringWriter hasil = new StringWriter(); js.writeJSONString(hasil); String jsons = hasil.toString(); System.out.println(); System.out.println("===================================="); System.out.println("Setelah diencode menjadi format JSON"); System.out.println("===================================="); System.out.println(jsons); System.out.println(); // decode json array // inisialisasi dengan memparsing array JSON JSONParser jpars = new JSONParser(); Object object = jpars.parse(jsons); // JSON dijadikan array objek kemudian kita ambil datanya System.out.println("===================================="); System.out.println("Setelah didecode menjadi format biasa"); System.out.println("===================================="); JSONArray jsonArr = (JSONArray) object; for(int i=0; i<jsonArr.size(); i++){ // ekstraksi array objek, menjadi objek... JSONObject obj = (JSONObject) jsonArr.get(i); System.out.println(obj.get("buku_kode")); System.out.println(obj.get("buku_judul")); System.out.println(obj.get("buku_penerbit")); System.out.println(obj.get("buku_tahun")); } }catch(Exception e){ } } }
run: ==================================== Sebelum diencode menjadi format JSON ==================================== 1 Wordpress Advanced Neomedia 2001-01-01 2 PHP For Evil Genius Socka Inc. 1999-01-01 3 Linux Kernel For Breakfast Socka Inc. 2009-01-01 4 Play With Perl Undercover for Evil genius Socka Inc. 2009-01-01 5 Android Cook Book For Mother Dopler Crook 2008-01-01 ==================================== Setelah diencode menjadi format JSON ==================================== [{"buku_kode":"1","buku_judul":"Wordpress Advanced","buku_penerbit":"Neomedia","buku_tahun":"2001-01-01"},{"buku_kode":"2","buku_judul":"PHP For Evil Genius","buku_penerbit":"Socka Inc.","buku_tahun":"1999-01-01"},{"buku_kode":"3","buku_judul":"Linux Kernel For Breakfast","buku_penerbit":"Socka Inc.","buku_tahun":"2009-01-01"},{"buku_kode":"4","buku_judul":"Play With Perl Undercover for Evil genius","buku_penerbit":"Socka Inc.","buku_tahun":"2009-01-01"},{"buku_kode":"5","buku_judul":"Android Cook Book For Mother","buku_penerbit":"Dopler Crook","buku_tahun":"2008-01-01"}] ==================================== Setelah didecode menjadi format biasa ==================================== 1 Wordpress Advanced Neomedia 2001-01-01 2 PHP For Evil Genius Socka Inc. 1999-01-01 3 Linux Kernel For Breakfast Socka Inc. 2009-01-01 4 Play With Perl Undercover for Evil genius Socka Inc. 2009-01-01 5 Android Cook Book For Mother Dopler Crook 2008-01-01 BUILD SUCCESSFUL (total time: 1 second)
Jika ada yang kurang jelas, silakan isi bertanya di bagian komentar... :). Untuk Encode dan decode JSON dengan PHP, bisa cek di Encode dan Decode JSON dengan PHP.
Top Artikel :
Written by ElangSakti
Encode dan Decode JSON Data dengan Java
Bahasan: Sebelumnya kita telah mempelajari tentang bagaimana cara kerja dan format JSON. Bagi yang belum mengikuti pembahasannya, diharap menengokn...
Published at Minggu, 10 Maret 2013, Updated at Minggu, 10 Maret 2013
Reviewed by dr. on
Rating: 4.7
Encode dan Decode JSON Data dengan Java
Bahasan: Sebelumnya kita telah mempelajari tentang bagaimana cara kerja dan format JSON. Bagi yang belum mengikuti pembahasannya, diharap menengokn...
Published at Minggu, 10 Maret 2013, Updated at Minggu, 10 Maret 2013
Reviewed by dr. on
Rating: 4.7
Langganan:
Posting Komentar
(
Atom
)
makasih banyak tutorialnya bro simple and mantab pokoknya
BalasHapusgan bisa gak kita decode data json via java tapi encode lewat php,, kita ambil url encode data dari php lalu di decode ke java?
BalasHapusbisa, coba cari di "Cari Blog Ini" dengan kata kunci JSON
Hapusmas, kalo di tambah pagination bisa ?
BalasHapusapanya yang mau dikasi pagination mas?
HapusMakasih nih mas udh di respon hehe, iya seperti contoh di atas kan buku. misalkan bukunya ada ribuan itu kan pasti scroll ke bawah terus. jadi di kasih limit di sql gtu gmana mas?
BalasHapusBisa mas, limitnya langsung di perintah SQLnya. Jadi setiap pindah halaman datanya berubah, kekurangannya tentu ketika mau nge-load data harus koneksi ke database dulu.
HapusAtau, data diload seluruhnya, hanya saja ditampilkan perhalaman, nanti pembatasan data per-halaman-nya ada di perulangan. Tapi untuk cara ini, memory di client banyak terkuras.
oh gtu mas, gpp dia load tergantung speed koneksinya kan hahaha.
BalasHapusJadi tambahin limit ya, nah berarti ambil variabel page/hal nya pake json juga ya mas klo biar dibaca dijava?
Contoh potongan programnya ada ga mas?
Bisa.
HapusBelum ada yang untuk java. :)
kata temen saya sih bisa pakai crud di java, agan tau crud? ane buta java kwkw.
BalasHapusCRUD itu singkatan dari Create, Read, Update, dan Delete dalam SQL, jadi ya perintah Create (table/database), Select * ..., Update .... , Delete From ... dst.
Hapus