This is printable version of
http://black-it.net/home/index-0x64657461696C-bit-0d5f4798270d646a3388aab0573e0fcf-x-1.jsp




Antara PHP JSON dan J2ME

 

------------------------------------------------------------
Author  : Sweety
Mail    : sweety-wexwextung@wexwextung-black-it-wexwextung.net
URL     : http://metoo.vndv.com
Date    : 10 May 2009
Posted under : B-IT Paper
Copyleft (c) 2009 Black-IT.NET All Rights Reserved

------------------------------------------------------------

 
Nah,,,loh..kayak cinta segitiga aja judulnya, kali ini yang akan dibahas adalah membuat melakukan pertukaran data antara J2ME dan PHP menggunakan JSON (JavaScript Object Notation).

JSON sendiri yang disingkat 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). Format JSON sering digunakan untuk mentransmisikan data terstruktur melalui suatu koneksi jaringan pada suatu proses yang disebut serialisasi. Aplikasi utamanya adalah pada pemrograman aplikasi web AJAX dengan berperan sebagai alternatif terhadap penggunaan tradisional format XML.

Nah PHP sendiri sudah mendukung untuk dilakukannya pertukaran data menggunakan JSON, versi PHP yang mendukung JSON versi 5.2.x , atau semisal versi PHP masih dibawah versi tersebut dapat juga JSON digunakan dengan menambahkan file library untuk JSON bisa di download di sini. Dalam PHP terdapat beberapa fungsi yang bisa digunakan yaitu json_encode -> untuk merubah data menjadi format json dan json_decode -> decode string dengan format json,

Ini adalah fungsi encode pada PHP :


<?php
$arr = array ('hasil'=>ini adalah fungsi encode);

echo json_encode($arr);
?>

Hasil yang akan muncul adalah seperti ini :

{"hasil": "ini adalah fungsi encode"}

         array(  key =>  value

         , ...

         )



Sedangkan untuk J2ME perlu tambahan library yang harus ditambahkan pada saat pembuatan aplikasinya. Library nya dapat di download di sini.

Pada aplikasi j2me pertama buat koneksi http nya, potongan script ya seperti ini :


String url = "”;

}

HttpConnection hc = null;

InputStream is = null;

OutputStream os = null;

StringBuffer messagebuffer = new StringBuffer();

String temp = "";

try {

hc = (HttpConnection) Connector.open(url,Connector.READ_WRITE);

hc.setRequestMethod(HttpConnection.GET);

hc.setRequestProperty("User-Agent", "Profile/MIDP-2.0 Configuration/CLDC-1.1");

hc.setRequestProperty("Content-Language", "en-US");

hc.setRequestProperty("Content-Type", "application/json");

}

int rc = hc.getResponseCode();

if (rc != HttpConnection.HTTP_OK) {

throw new IOException("HTTP response code: " + rc);

}

is = hc.openInputStream();

int ch;

long len = hc.getLength();

if (len != -1) {

for (int i = 0; i < len; i++) {

if ((ch = is.read()) != -1) {

messagebuffer.append((char) ch);

temp = temp + (char) ch;

} else {

while ((ch = is.read()) != -1) {

messagebuffer.append((char) ch);

}

temp = temp + (char) ch;

}

}

}

is.close();

Parsing prs = new Parsing();

prs.process(temp);

String message = "Hasil eksekusi :\n" + prs.getMsg();

form.append(message);

Nah sekarang tinggal membuat class parsing nya.

class Parsing {

String aString = null;

public Parsing() {

}

public void process(String json) {

try {

JSONObject tampung = new JSONObject(json);

if (tampung != null) {

aString = tampung.getString("hasil");

}

} catch (JSONException ex) {

ex.printStackTrace();

}

}

public String getMsg() {

return aString;

}

}



Nah sebenarnya prinsip kerja json pada j2me cukup sederhana, hasil koneksi http yang dilakukan tadi disimpan pada suatu string, yang nantinya string tersebut dimasukkan pada JSONObject.

Nilai pada JSONObject tersebut diambil dengan dengan menggunakan :

aString = tampung.getString("hasil");

“hasil” adalah key yang value atau nilainya akan ditampilkan nantinya.

Selamat mencoba,,,

Referensi :

  • https://meapplicationdevelopers.dev.java.net/mobileajax.html
  • http://id.php.net/json
  • http://mike.teczno.com/JSON/JSON.phps
  • http://java.sun.com/developer/technicalArticles/javame/json-me/