2016-09-25 17 views
0

JSONを消費してAndroidのリストビューに表示しようとしています。アンドロイドでエラー:org.json.JSONException:型java.lang.Stringの値httpをJSONObjectに変換できません。

{ 
    "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": "[email protected]", 
     "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" 
    }] 
} 

マイAsynctask:

この

はJSONである私が取得していますなぜ

@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

JSONObjectに変換する前に結果の値をログに記録 –

+0

エラーが「値http」と表示されるので、doInBackroundから正しい値を返さないように見える –

+1

助けてくれてありがとう、私はURLを返していましたjson文字列。ありがとう ! – headcrabz

答えて

0

文字列の結果を渡していますonPostExecute()メソッドへの呼び出しは、明らかにJSON文字列ではありません。

また、doInBackground()内でJSON文字列も解析しないでください。このようなタスクを実行するには、バックグラウンドスレッドを使用することをお勧めします。可能であれば、UIスレッドで操作するonPostExecute()メソッドを予約します。そして、JSON解析は間違いなくバックグラウンドで行うことができます。

関連する問題