Membuat
pertukaran data yang efektif, kita dapat menggunakan JSON (dilafalkan
"Jason"), singkatan dari JavaScript Object Notation (bahasa
Indonesia: notasi objek JavaScript), adalah suatu format ringkas pertukaran
data komputer. Formatnya berbasis teks dan terbaca-manusia serta digunakan
untuk merepresentasikan struktur data sederhana dan larik asosiatif (disebut
objek).
Misalkan
ada transaksi berikut

Data tersebut bisa saja kita menggunakan konsep POJO di java
yaitu Plain Old Java Object yaitu class yang berisi set() dan get(), akan
tetapi jika menggunakan 2 bahasa yang berbeda untuk membangun sebuah aplikasi,
maka konsep POJO akan sulit karena tidak fleksible, oleh karena itu data
transaksi diatas dapat diubah kedalam format yang terstruktur seperti XML, tapi
kali ini kita akan mengubah nya kedalam format JSON, silahkan ke http://www.jsoneditoronline.org/ untuk mencoba
secara online.
.png)
.png)
Sangat mudah bukan??
Yaitu
dengan mengubah menjadi berikut{"transaksi": [ { "no_transaksi":2344 }, {"no":1, "barang":"snack taro 3", "harga":4300, "jumlah":1, "total":4300 }, {"no":2, "barang":"richoco wafer coklat", "harga":1200, "jumlah":2, "total":2400 }, { "total" : 6700 } ] }
Itulah format JSON
Library di java yang menyediakan JSON sangat banyak, salah satu nya adalah https://code.google.com/p/json-simple/
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
import org.json.simple.JSONObject;
/**
*
* @author www.softscients.web.id
*/
public class DemoJson {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
HashMap <String,String> barang = new HashMap <>();
barang.put("no","1");
barang.put("nama_barang","snack taro");
barang.put("harga","4300");
barang.put("jumlah","1");
barang.put("total","4300");
HashMap <String,String>barang2 = new <String,String>HashMap();
barang2.put("no","2");
barang2.put("nama_barang","richoco");
barang2.put("harga","1200");
barang2.put("jumlah","2");
barang2.put("total","2400");
ArrayList items = new ArrayList();
items.add(barang);
items.add(barang2);
JSONObject obj=new JSONObject();
obj.put("no_transaksi",new Integer(235));
obj.put("items",items);
obj.put("total",6700);
System.out.println("encoding format JSON");
System.out.println(obj.toString());
spliter( obj);
}
public static void spliter(JSONObject obj)
{
System.out.println("decoding format JSON");
Object no_transaksi = obj.get("no_transaksi").toString();
System.out.println("no transaksi "+no_transaksi);
ArrayList items = (ArrayList) obj.get("items");
Iterator iter = items.iterator();
while(iter.hasNext()){
HashMap map = (HashMap) iter.next();
Set set = map.entrySet();
for(int i=0;i<set.size();i++)
{
String [] str = (set.toArray()[i].toString().split("="));
System.out.print(str[0]+" => "+str[1]+"\t");
}
System.out.println("");
}
System.out.println("total "+obj.get("total").toString());
}
}
Menghasilkan
encoding format JSON
{"total":6700,"no_transaksi":235,"items":[{"total":"4300","nama_barang":"snack taro","no":"1","jumlah":"1","harga":"4300"},{"total":"2400","nama_barang":"richoco","no":"2","jumlah":"2","harga":"1200"}]}
decoding format JSON
no transaksi 235
total => 4300 nama_barang => snack taro no => 1 jumlah => 1 harga => 4300
total => 2400 nama_barang => richoco no => 2 jumlah => 2 harga => 1200
total 6700
No comments:
Post a Comment