Cara Gampang Melihat Bentuk/Struktur Respon Json
Logo JSON (JavaScript Object Notation) |
JSON (JavaScript Object Notation) dalam pengertian mudahnya ialah adalah standar format pengiriman data melalui jaringan internet. Bentuk/Struktur respon JSON yang umum bersama-sama hanya ada dua yaitu Objek dan Array. Objek mudahnya ialah sebuah row atau record atau struct.
Mengacu pada halaman resmi JSON bentuknya ialah sebagai berikut ini
Objek
-> sepasang nama/nilai yang tidak terurutkan. Objek dimulai dengan { (kurung kurawal buka) dan diakhiri dengan } (kurung kurawal tutup). Setiap nama diikuti dengan : (titik dua) dan setiap pasangan nama/nilai dipisahkan oleh , (koma).Larik
-> kumpulan nilai yang terurutkan. Larik dimulai dengan [ (kurung kotak buka) dan diakhiri dengan ] (kurung kotak tutup). Setiap nilai dipisahkan oleh , (koma). Jika bentuk JSON hanyalah sebuah respon sederhana yang berisi beberapa objek menyerupai untuk sistem authorisasi login atau array saja mungkin gampang untuk membacanya namun kalau responnya banyak adonan dari objek dan array tentu cukup susah membacanya apalagi untuk pemula yang gres mengenal JSON. Misalnya menyerupai dibawah ini :
Respon Objek
Ini pola respon JSON dengan format struct didalam struct dan ada array juga namun yang masih sederhana
Contoh Respon JSON | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | { "nama": "", "nim": "1230909009", "akademik": { "semester": "5", "sks": "24", "matakuliah": [ { "nama": "Pemrograman Web", "kode": "123123", }, { "nama": "Kecerdasan Buatan", "kode": "213223", }, { "nama": "Data Mining", "kode": "5643534", }, ], }, } |
Cara melihat bentuk JSON dengan gampang ialah dengan situs web JSONViewer, melalui situs tersebut kita sanggup melihat bentuk JSON dalam format yang lebih gampang dibaca misalnya ialah hasil format Respon JSON diatas melalui JSON Viewer.
Hasil JSONViewer |
Hasilnya sanggup dilihat lebih rapi dan gampang untuk dipaham, kini menjadi gampang untuk membacanya melalui sebuah program. Contoh disini akan dipakai jadwal Android. Namun sebelumnya buat algoritma ambil datanya terlebih dahulu
Algoritma Ambil/Baca Data JSON
JSONString <-- ambil string respon <link JSON> JSON <-- JSONString ambil objek Nama <-- JSON ambil nama NIM <-- JSON ambil nim Akademik <-- JSON ambil objek akademik Semester <-- Akademik ambil semester SKS <-- Akademik ambil sks Matakuliah <-- Akademik ambil array matkul NamaMatkul <-- Matakuliah index 0 ambil nama KodeMatkul <-- Matakuliah index 0 ambil kode
Jika sudah punya citra dari algoritma diatas maka lanjut untuk kedalam jadwal androidnya namun tidak akan dibahas untuk menciptakan view dari jadwal lantaran sanggup dipelajari sendiri.
EKSEKUSI
Ambil string respon JSON dan jadikan sebagai objek
String jsonString = httpHandler.makeServiceCall("http://tataadin.000webhostapp.com/json/"); JSONObject JSON = new JSONObject(jsonString);
Pada bab ini jadwal mengambil string dari respon JSON lantaran intinya respon ini wujudnya string. Method httpHandler.makeServiceCall ini dapat diambil di file projek yang akan dibagian simpulan artikel ini, fungsinya dalam android untuk membantu komunikasi dengan internet (http).
Jika melihat pada hasil JSON Viewer maka bersama-sama respon JSON itu ialah suatu objek oleh alasannya ialah itu string dari respon tadi dirubah menjadi sebuah Objek memakai proteksi kelas JSON yang sudah tersedia pada paket IDE Android
Ambil atribut nama & nim
tnama = JSON.getString("nama"); tnim = JSON.getString("nim");
Bagian ini mengambil nilai dari artibut/kolom dari objek.
Ambil objek Akademik dan atributnya
JSONObject Akademik = JSON.getJSONObject("akademik"); tsks = Akademik.getString("sks"); tsemester = Akademik.getString("semester");
Kembali lihat pada hasil JSON Viewer disana sanggup dilihat bahwa ada objek Akademik ada dalam objek respon JSON. Inilah pola objek didalam objek pada JSON, atau dalam struktur data disebut struct didalam struct. Pemahamannya menyerupai langkah sebelumnya.
Ambil array matakuliah dan atributnya
JSONArray matakuliah = Akademik.getJSONArray("matakuliah"); for(int i = 0; i < matakuliah.length(); i++){ JSONObject index = matakuliah.getJSONObject(i); Matkul matkul = new Matkul(); matkul.setNama(index.getString("nama")); matkul.setKode(index.getString("kode")); matkulList.add(matkul); }
Pada hasil JSON Viewer kita lihat objek akademik mempunyai sebuah array matakuliah, untuk mengambilnya dipakai proteksi method dari kelas JSON. Kembali pada hasil JSON Viewer sanggup dilihat bahwa index array berbentuk sebuah objek oleh alasannya ialah itu untuk mengambil artibutnya kita perlu mengambil index sebagai objek terlebih dahulu.
Bagian perulangan mengambil index array ini memakai konsep RecyclerView lantaran pada android List/Array memang ditampilkan memakai konsep ini. Namun bab ini akan dibahas pada artikel lain.
Langkah mengambil JSON memakai jadwal android sudah selesai, selanjutnya kita perlu menciptakan aba-aba tadi bekerja. Pada android hal yang berafiliasi dengan internet menyerupai ini perlu dijalankan memakai mode AsyncTask agar berjalan dilatar belakang. Maka aba-aba tadi perlu kita masukan kedalam kelas AsyncTask, sehingga hasil lengkapnya untuk acara mengambil JSON ialah dibawah ini.
Projek android tersebut sanggup diunduh melalui tautan github ini <android-readjson>. Jika tidak sanggup di-build bisa jadi lantaran versi SDK tidak sama, maka cukup buat projek gres dan copy-paste folder main dari projek androidreadjson ke projek baru.
Folder Main |
Cara membaca JSON pada pemrograman lain kurang lebih algoritmanya sama mungkin dibagian kodenya saja yang berbeda lantaran beberapa bahasa pemrograman mempunyai aturannya sendiri. Jika kurang terperinci sanggup ditanyakan melalui akun media umum yang ada di widget blog.