我正在尝试使用JSON并在Android列表视图中显示它。
这是JSON:
{
"meta": {
"limit": 20,
"next": null,
"offset": 0,
"previous": null,
"total_count": 5
},
"objects": [{
"acad_rating": "4.58",
"address": "Karawal Nagar Delhi-110094",
"adm_close": "5/2/2016",
"adm_open": "1/1/2016",
"affiliated_till": "31/3/2017",
"area": "Karawal Nagar (West)",
"average_board_perc": null,
"boardhighsec": "Cbse",
"boardsec": "Cbse",
"books_in_lib": 9684,
"boyperc": "72.00",
"category": " Primary With Upper Primary And Secondary And Higher Secondary(1-12) ",
"cce_impl": true,
"city": "Delhi",
"cityslug": "delhi",
"coed": "Co-Ed",
"computer_aid_learn": true,
"description": null,
"district": "North East Delhi",
"drinking_water": "Tap Water",
"email": "bhavansl@hotmail.com",
"facilities_rating": "5.00",
"fax": "4132622661",
"girlperc": "28.00",
"good_classrooms": 21,
"grad_teachers": "92.16",
"highestclass": 12,
"image": null,
"library": true,
"lowestclass": 1,
"medical_checkup_last_yr": true,
"medium": " English ",
"mid_day_meal": "Na",
"minage": 3,
"name": "Sardar Patel Public Sr.Sec. School",
"no_classrooms": 21,
"no_computers": 35,
"overall_rating": "4.33",
"padmin": 15,
"parents_smc": 2,
"phone": "22934441",
"pincode": 110094,
"playground": true,
"pqualification": "B.A., M.Phil, M.Ed.",
"principal": "Mohd Zahid Khan",
"pteach": 9,
"ptotal": 24,
"ramp": true,
"rating": "3.5",
"residential_school": false,
"resource_uri": "/api/schools/7030327101/",
"school_mgt_com": true,
"schoolid": "7030327101",
"schooltype": "Private Unaided School",
"since": 1985,
"slug": "sardar-patel-public-srsec-school",
"student_teacher": "33.45",
"total_seats": 0,
"total_smc": 18,
"total_students": 1706,
"total_teachers": 51,
"totalews": 0,
"trust": "Geeta Educational Society, Shera",
"tuition": 0,
"website": "http://www.auroville.org.in",
"workdays_pr": 240,
"written_test": true,
"zone": "4"
}]
}
Android中的Asynctask:
@Override
protected void onPostExecute(String result) {
try {
JSONObject jObj = new JSONObject(result);
String notes = jObj.getString("objects");
} catch (JSONException e) {
Log.e("JSONException", "Error: " + e.toString());
}
不确定我收到错误的原因:
E/JSONException: Error: org.json.JSONException: Value http of type java.lang.String cannot be converted to JSONObject
答案 0 :(得分:1)
您传递给onPostExecute()方法的String结果显然不是JSON字符串。
此外,为什么不在doInBackground()中解析JSON字符串。后台线程是执行此类任务的更好选项 - 如果可能,保留onPostExecute()方法,该方法在UI线程上运行以便在UI线程上进行操作。 JSON解析绝对可以在后台完成。