Sunday 15 May 2011

android - JSONParser suddenly error exception No value for -



android - JSONParser suddenly error exception No value for -

before error, alter table structure. rechecked query , php vars have no thought why gave me error. phone call function in php , success generate in json encode:

{ "data": [{ "id": "18", "jenis": "kelas", "ruangan": "9120", "hari": "selasa", "jam": "08:00:00" }], "success": 1 }

and logcat show exception: no value jenis.

private jsonparser jparser; private arraylist<hashmap<string, string>> listkuliah; private static final string tag_success = "success"; private static final string tag_data = "data"; private static final string tag_npm = "npm"; private static final string tag_kode = "kode"; private static final string tag_jenis = "jenis"; private static final string tag_ruangan = "ruangan"; private static final string tag_hari = "hari"; private static final string tag_jam = "jam"; private static final string tag_id_jadwal = "id"; private static final string tag_jumlah = "jumlah"; private string npm,kode; private jsonarray info = null; class getmatkul extends asynctask<string,string,string> { @override protected string doinbackground(string... args) { // todo auto-generated method stub string request = "getkelasbykode"; list<namevaluepair> params = new arraylist<namevaluepair>(); params.add(new basicnamevaluepair("request", request)); params.add(new basicnamevaluepair("npm", npm)); params.add(new basicnamevaluepair("kode", kode)); jsonobject json = jparser.makehttprequest("get", params); // getting json string url log.d("all kelas: ", json.tostring()); // check log cat json reponse seek { int success = json.getint(tag_success); if (success == 1) { info = json.getjsonarray(tag_data); // getting array of matkul (int = 0; < data.length(); i++) { // looping through matkul jsonobject arr = data.getjsonobject(i); // storing each json item in variable string jenis = arr.getstring(tag_jenis); string ruangan = arr.getstring(tag_ruangan); hashmap<string, string> map = new hashmap<string, string>(); // creating new hashmap map.put(tag_jenis, jenis); // adding each kid node hashmap key => value map.put(tag_ruangan, ruangan); listkuliah.add(map); // adding hashlist arraylist } } } grab (jsonexception e) { e.printstacktrace(); } homecoming null; } protected void onpostexecute(string file_url) { runonuithread(new runnable() { public void run() { /** * updating parsed json info listview * */ listadapter adapter = new simpleadapter(detailmatkul.this, listkuliah, r.layout.list_kuliah, new string[] {tag_jenis, tag_ruangan, tag_hari, tag_jumlah}, new int[] { r.id.jenis, r.id.ruangan, r.id.hari, r.id.jumlah}); setlistadapter(adapter); // updating listview } }); } }

update logcat:

11-11 22:19:20.617: d/all kelas:(10879): {"data":[{"kode":"aif401","sks":"4","nama":"skripsi 1"}],"success":1} 11-11 22:19:20.617: w/system.err(10879): org.json.jsonexception: no value jenis 11-11 22:19:20.627: w/system.err(10879): @ org.json.jsonobject.get(jsonobject.java:355) 11-11 22:19:20.627: w/system.err(10879): @ org.json.jsonobject.getstring(jsonobject.java:515) 11-11 22:19:20.627: w/system.err(10879): @ com.skripsi.sistemabsensi.detailmatkul$getmatkul.doinbackground(detailmatkul.java:104) 11-11 22:19:20.627: w/system.err(10879): @ com.skripsi.sistemabsensi.detailmatkul$getmatkul.doinbackground(detailmatkul.java:1) 11-11 22:19:20.627: w/system.err(10879): @ android.os.asynctask$2.call(asynctask.java:288) 11-11 22:19:20.627: w/system.err(10879): @ java.util.concurrent.futuretask.run(futuretask.java:237) 11-11 22:19:20.627: w/system.err(10879): @ android.os.asynctask$serialexecutor$1.run(asynctask.java:231) 11-11 22:19:20.627: w/system.err(10879): @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1112) 11-11 22:19:20.627: w/system.err(10879): @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:587) 11-11 22:19:20.627: w/system.err(10879): @ java.lang.thread.run(thread.java:841)

update: found solution, several days ago replace url variable jsonparser class gave me error.

from log clear that, response object is

{ "data": [ { "kode": "aif401", "sks": "4", "nama": "skripsi 1" } ], "success": 1 }

and not equal expected response

{ "data": [{ "id": "18", "jenis": "kelas", "ruangan": "9120", "hari": "selasa", "jam": "08:00:00" }], "success": 1 }

it not contain tags specified. check php code.

android mysql json

No comments:

Post a Comment