我是 Android 和 JSON 新手。目前正在尝试从数据库中获取我的数据。但它显示错误。这是我的日志猫:
I/mytag: my json string{"success":1,"message":"Lecturer's Available","lecturer":[{"lecName":"Ariah","lecID":"1234","lecEmail":"[email protected] /cdn-cgi/l/email-protection","lecPass":"123"}]}
W/System.err: org.json.JSONException: No value for lecName
W/System.err: at org.json.JSONObject.get(JSONObject.java:389)
W/System.err: at org.json.JSONObject.getString(JSONObject.java:550)
W/System.err: at com.example.foo.isfoo.lec_profile$LecturerProfile.doInBackground(lec_profile.java:99)
W/System.err: at com.example.foo.isfoo.lec_profile$LecturerProfile.doInBackground(lec_profile.java:82)
W/System.err: at android.os.AsyncTask$2.call(AsyncTask.java:295)
W/System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:237)
W/System.err: at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)
W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
我的问题是如何获取Json数组?对于上面的 no value for lecName 错误,我需要添加什么?这是我的java编码。
protected String doInBackground(String... args) {
try {
json=jsonParser.getJSONFromUrl(PROFILE_URL);
Log.i("mytag","my json string"+ json);
lec_Name=json.getString(TAG_NAME);
lec_ID=json.getString(TAG_ID);
lec_Email=json.getString(TAG_EMAIL);
lec_Pass=json.getString(TAG_PASSWORD);
} catch (JSONException e){
e.printStackTrace();
}
return null;
}
如果有人能帮助我,我真的很感激。
浏览一下这段代码。
protected String doInBackground(String... args) {
try {
json=jsonParser.getJSONFromUrl(PROFILE_URL);
JSONArray jsonArray = json.getJSONArray("lecturer");
for(int i = 0; i<jsonArray.length();i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
String lec_Name = jsonObject.getString(TAG_NAME);
String lec_ID = jsonObject.getString(TAG_ID);
String lec_Email = jsonObject.getString(TAG_EMAIL);
String lec_Pass = jsonObject.getString(TAG_PASSWORD);
}
} catch (JSONException e){
e.printStackTrace();
}
return null;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)