現在のユーザーの友達リストを取得するために 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
なぜだか全く理解できない…