0

現在のユーザーの友達リストを取得するために Facebook グラフ API を使用しています。
私はそれを行うための適切な権限を持っており、返された JSON オブジェクトは次のようなものを返します。

{
"data": [
{
  "name": "name1", 
  "id": "11111"
}, 
{
  "name": "name2", 
  "id": "2222"
}, 
{
  "name": "name3", 
  "id": "33333"
}], 
"paging": {
"next": "https://graph.facebook.com/613714903/friends?format=json&limit=5000&offset=5000&__after_id=100003711723705"
}
}

私の理解では、これはJSONArrayであり、各ユーザー名とIDはJSONObjectsです..私はそれをエンコードするためにこのコードを書きました:

FacebookFriend[] facebookFriends = null;        
    try {

            facebookResults = facebookResults.getJSONArray(0);
            facebookFriends = new FacebookFriend[facebookResults.length()];
            for (int i=0; i < facebookResults.length(); i++)
            {
                JSONObject json = new JSONObject(facebookResults.getJSONObject(i).toString());
                facebookFriends[i].setuId(json.getString("id"));
                facebookFriends[i].setProfilePicture(getProfilePicture(json.getString("id")));
                facebookFriends[i].setGender(getGender(json.getString("id")));
            }               

        } catch (JSONException e) { 
            Log.e("Facebook Error", e.toString());          
            alert("Facebook Error", e.toString(),"ok");
        }

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

 org.json.JSONException: Value [] of type org.json.JSONArray cannot be converted to JSONObject 

なぜだか全く理解できない…

4

1 に答える 1

2

よく見ると、結果オブジェクトのdataプロパティにユーザー配列が配置されていることを見逃している可能性があります

于 2012-04-09T16:20:22.263 に答える