-1

次の応答があります。

{
   "data": [
      {
         "name": "This is a test 123",
         "start_time": "2013-12-02T18:00:00+0530",
         "end_time": "2013-12-02T20:00:00+0530",
         "location": "Mount Lavinia",
         "id": "525447507473743",
         "rsvp_status": "attending"
      },
      {
         "name": "This is a test event",
         "start_time": "2013-12-02T18:00:00+0530",
         "end_time": "2013-12-02T20:00:00+0530",
         "location": "Mount Lavinia",
         "id": "560383743988530",
         "rsvp_status": "attending"
      },
}

]、

応答にアクセスするための次のコードがあります。

                JSONObject jsonObj = new JSONObject(result);
                JSONArray jsonArr = jsonObj.getJSONArray("data");
                for(int i = 0; i < jsonArr .length(); i++)
                {
                   JSONObject jsonArrObj = jsonArr.getJSONObject(i);
                   String id = jsonArrObj.getString("id");
                   String username = jsonArrObj.getString("name");
                   Log.w("event names are", username.toString());

                } 

次のエラーが表示されます。

json.JSON.typeMismatch(JSON.java:100)

解決策を検索しましたが、何も得られませんでした。

4

1 に答える 1

1

これは、graph.facebook.comAPIから取得するJSON文字列の完全な解析です。

ArrayList<HashMap<String,String>> arrahaspmap=new 
                              ArrayList<HashMap<String,String>>();
HashMap<String,String> hashmaptemp;
JSONObject jsonObj;
 try {
    jsonObj = new JSONObject(sdskd);
    JSONArray jsonArr = jsonObj.getJSONArray("data");
    System.out.println("jsonArr jsonArr jsonArr jsonArr :: "+jsonArr.length());

    for(int i = 0; i < jsonArr .length(); i++)
         {
           JSONObject jsonArrObj = jsonArr.getJSONObject(i);
           hashmaptemp=new HashMap<String, String>();
           hashmaptemp.put("id", jsonArrObj.getString("id"));
           hashmaptemp.put("end_time", jsonArrObj.getString("end_time"));
           hashmaptemp.put("location", jsonArrObj.getString("location"));
           hashmaptemp.put("name", jsonArrObj.getString("name"));
           hashmaptemp.put("rsvp_status", jsonArrObj.getString("rsvp_status"));
           arrahaspmap.add(hashmaptemp);
        } 
  JSONObject jsonobjpaging= jsonObj.getJSONObject("paging");
  String strprevious=jsonobjpaging.getString("previous");
  String strnext=jsonobjpaging.getString("next");
  System.out.println("jsonobjpaging previous :: "+strprevious);

  System.out.println("strnext next :: "+strnext);
} catch (JSONException e) {
   // TODO Auto-generated catch block
     e.printStackTrace();
}
于 2012-12-05T09:28:36.587 に答える