0% menganggap dokumen ini bermanfaat (0 suara)
267 tayangan8 halaman

Tutorial-Parsing JSON

Dokumen tersebut merupakan tutorial parsing JSON yang membahas tentang pengertian JSON, library yang digunakan untuk parsing JSON, dan cara-cara melakukan parsing dokumen JSON sederhana maupun kompleks yang mencakup variable tunggal, array, dan nested object.

Diunggah oleh

E Agustian
Hak Cipta
© Attribution Non-Commercial (BY-NC)
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
267 tayangan8 halaman

Tutorial-Parsing JSON

Dokumen tersebut merupakan tutorial parsing JSON yang membahas tentang pengertian JSON, library yang digunakan untuk parsing JSON, dan cara-cara melakukan parsing dokumen JSON sederhana maupun kompleks yang mencakup variable tunggal, array, dan nested object.

Diunggah oleh

E Agustian
Hak Cipta
© Attribution Non-Commercial (BY-NC)
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 8

Non Technical Document

TUTORIAL PARSING JSON


Knowledge Sharing Session

BETTER-B

PT. DIANTARA KODE DIGITAL

2011

1|Page
Amandement Records

Ver. Date Author Section Update Description


1.0 February 14th, 2011 Eric Agustian - Initial Release

2|Page
CHAPTER 1: WHAT IS JSON?

JSON ( JavaScript Object Notation), adalah sebuah standarisasi dokumentasi yang digunakan untuk
pertukaran komunikasi data secara online. Sama seperti XML (eXtensible Markup Language), keduanya
adalah standar yg saat ini banyak digunakan .

Kelebihan JSON dibandingkan XML adalah, JSON mendukung penggunaan beberapa jenis tipe data,
mulai dari String, Integer, Boolean, Double, Long dan sebagainya. Selain itu dari sisi pengolahan (parsing)
jauh lebih cepat dibandingkan XML.

Ciri khas dokumentasi JSON adalah diawali dengan { dan diakhiri dengan }, untuk mendifinisikan array
digunakan [ sebagai awalan dan ] sebagai akhiran, untuk memisahkan antara satu variable dengan yang
lainnya digunakan tanda , sedangkan untuk memisahkan antara nama variable dengan isi/nilainya
digunakan tanda :. Untuk mendeklarasikan sebuah nama variable harus diawali dengan “ dan diakhiri
juga dengan “.

{
“contoh”: “JSON”,
“array”: [
{
“nomor”: 1,
“detail”: “Satu”
},
{
“nomor”: 2,
“detail”: “Dua”
}
]
}

3|Page
CHAPTER 2: LIBRARY FOR PARSING JSON

Untuk melakukan parsing dokumen JSON, diperlukan sebuah library eksternal khusus yang tersedia
dalam lisensi open source. Khusus untuk BlackBerry, JSON baru mulai diperkenalkan pada OS versi 5.0
atau yang lebih baru. Sehingga untuk menjaga kompatibilitas dengan OS versi sebelumnya, dalam setiap
project selalu disertakan library external ini.

Note: org.json.me adalah package default library external yang tersedia, sedangkan untuk menjaga
kompatibilitas dengan OS versi 5 atau yang lebih baru, penamaan package diubah menjadi bee.json.me.

Struktur package library:

- bee.json.me
- JSONArray.java
- JSONException.java
- JSONObject.java
- JSONString.java
- JSONTokener.java
- XML.java*
- XMLTokener.java*

Note: *Class XML.java & XMLTokener.java digunakan untuk melakukan konversi dari JSON menjadi XML,
sehingga parsing yg dilakukan menggunakan teknik parsing ala XML, meskipun dokumentasinya
disediakan dalam format JSON.

4|Page
CHAPTER 3: HOW TO PARSING JSON?

Untuk melakukan parsing JSON, ada beberapa konsep yang perlu dipahami yaitu: JSON Tokener & JSON
Object, JSON Array. Tokener adalah mekanisme yang mendefinisikan struktur keseluruhan dari sebuah
dokumen JSON yang terdiri dari berbagai Object (variable). Sedangkan Object pada dasarnya adalah
pendeklarasian variable itu sendiri (yang terdiri nama variable dan isi/nilainya). Dalam sebuah object
bisa berisi sebuah object pula. Object yang terbesar adalah keseluruhan dokumentasi JSON itu sendiri.
Sedangkan Array adalah kumpulan dari beberapa object dengan tipe data yang sama.

JSONTokener
{
“contoh”: “JSON”,
“array”: [
{ JSONObject
“nomor”: 1,
“detail”: “Satu”
},
{
“nomor”: 2, JSONArray
“detail”: “Dua”
}
]
}

Jadi untuk melakukan parsing yang paling pertama dilakukan adalah mendefinisikan JSONTokener, dan
kemudian dari JSONTokener tersebut dibuatlah sebuah JSONObject. Dua tahap awal ini adalah tahap
yang selalu dilakukan dalam sebuah proses parsing JSON. Sedangkan untuk melakukan parsing ke bagian
lain yang lebih kecil hingga ke variable, diperlukan beberapa tahap tergantung struktur yang dibuat.
Untuk lebih detailnya silahkan perhatikan contoh berikut ini:

Contoh 1: Parsing Plain JSON Document (plain.json)

{
"nilai": 1,
"komentar": "Lulus belajar parsing JSON",
"status": true,
"longitude": -1060235653434
}

Asumsikan dokumentasi JSON diatas sudah tersedia dalam bentuk data string dengan nama variable
data. Untuk memparsing dokumen diatas tahap-tahap yang dilakukan adalah sebagai berikut:
1. Buat JSONTokener
JSONTokener jtokener = new JSONTokener(data);

5|Page
2. Buat JSONObject
JSONObject jobject = new JSONObject(jtokener);
3. Ambil Data:
Dalam contoh dokumentasi diatas, dokumen JSON berisi 4 variable dengan tipe data yang
beragam, yaitu nilai (integer), komentar (String), status (boolean), longitude (long).

Untuk memparsing variable-variable diatas langkahnya adalah sebagai berikut:


int nilai = jobject.optInt("nilai");
String komentar = jobject.optString("komentar");
boolean status = jobject.optBoolean("status");
long longitude = jobject.optLong("longitude");

Contoh 2: Parsing Complex JSON Document (array.json)

{
"total_hari": 7,
"total_libur": 2,
"hari": [
{
"nama":"Senin",
"tanggal":"14-02-2010"
},
{
"nama":"Selasa",
"tanggal":"15-02-2010"
},
{
"nama":"Rabu",
"tanggal":"16-02-2010"
},
{
"nama":"Kamis",
"tanggal":"17-02-2010"
},
{
"nama":"Jumat",
"tanggal":"18-02-2010"
},
{
"nama":"Sabtu",
"tanggal":"19-02-2010"
},
{
"nama":"Minggu",
"tanggal":"20-02-2010"
}

6|Page
],
"ekstra":{
"libur":[
{
"hari": "Selasa 15-02-2010",
"info": "libur nasional"
},
{
"hari": "Minggu 20-02-2010",
"info": "libur sedunia kalo ini sih. hehehehe"
}
]
}
}

Jika diperhatikan struktur dokumen JSON diatas begitu kompleks, didalamnya terdapat variable tunggal
maupun array. Untuk memparsingnya tahap 1 & 2 seperti pada contoh parsing sebelumnya tetap
dilakukan.
1. Buat JSONTokener
JSONTokener jtokener = new JSONTokener(data);
2. Buat JSONObject
JSONObject jobject = new JSONObject(jtokener);
3. Ambil Data:
//parsing variable total hari & total libur
int total_hari = jobject.optInt("total_hari");
int total_libur = jobject.optInt("total_libur");

//parsing array 1
JSONArray array1 = jobject.optJSONArray("hari");
String[] nama = null;
String[] tanggal = null;

if(array1 instanceof JSONArray){


nama = new String[array1.length()];
tanggal = new String[array1.length()];

//baca array
int i = 0;
while(i<array1.length()){
nama[i] = array1.optJSONObject(i).optString("nama");
tanggal[i] = array1.optJSONObject(i).optString("tanggal");

i++;
}
}

7|Page
//parsing array 2
JSONObject root = jobject.optJSONObject("ekstra");
JSONArray array2 = root.optJSONArray("libur");
String[] hari = null;
String[] info = null;

if(array2 instanceof JSONArray){


hari = new String[array2.length()];
info = new String[array2.length()];

//baca array
int i = 0;
while(i<array2.length()){
hari[i] = array2.optJSONObject(i).optString("hari");
info[i] = array2.optJSONObject(i).optString("info");

i++;
}
}

Yang perlu diperhatikan saat akan melakukan parsing variable yang berada didalam sebuah array adalah
terlebih dahulu mendefinisikan array tersebut dalam bentuk JSONArray. Selanjutnya setelah JSONArray
terbentuk dilakukan seleksi dalam bentuk perulangan (looping while/for) untuk mengambil masing-
masing object yang terdapat didalamnya.

Setelah seluruh variable berhasil diparsing, pengolahan selanjutnya tergantung keperluan masing-
masing.

Untuk mendukung pemahaman, silahkan jalankan project DemoRealJSONParser, pada class


GenericJSONEntity.java dicontohkan bagaimana proses parsing JSON dilakukan.

8|Page

Anda mungkin juga menyukai