-1

Android アプリ用の Facebook Scores API に取り組んでいます。ユーザー グラフにアクセスして、ユーザー スコアを照会します。

https://graph.facebook.com/user_id/scores&access_token={user_access_token}

次のような応答が返されます。

{
 "data": [
{
  "user": {
    "name": "Michał Szydłowski", 
    "id": "100001699654797"
  }, 
  "score": 1200, 
  "application": {
    "name": "QuizzlePeople", 
    "namespace": "quizzlepeople", 
    "id": "176694722487191"
  }
}, 
{
  "user": {
    "name": "Michał Szydłowski", 
    "id": "100001699654797"
  }, 
  "score": 1, 
  "application": {
    "name": "Friend Smash!", 
    "namespace": "friendsmashsample", 
    "id": "480369938658210"
  }
}, 
{
  "user": {
    "name": "Michał Szydłowski", 
    "id": "100001699654797"
  }, 
  "score": 0, 
  "application": {
    "name": "Wordox", 
    "namespace": "wordox-the-game", 
    "id": "227993680602156"
  }
}, 
{
  "user": {
    "name": "Michał Szydłowski", 
    "id": "100001699654797"
  }, 
  "score": 0, 
  "application": {
    "name": "SongPop", 
    "namespace": "songpop", 
    "id": "323595464361460"
  }
 }
]
}

これから有用なデータを抽出するにはどうすればよいですか?

以下を使用して、何かをJSONObjectとして取得しようとしています:

    HttpClient client = new DefaultHttpClient();                
        HttpGet get = new HttpGet("https://graph.facebook.com/me?fields=score&access_token=" + token);
        HttpResponse resp = client.execute(get);        
        Log.i("info1", resp.toString());
        // Parse the response
        HttpEntity responseEntity = resp.getEntity();
        String response = EntityUtils.toString(responseEntity);
        Log.i("info1", response);
        JSONObject result = new JSONObject(response);
        JSONArray arr = result.getJSONArray("data");
        Log.i("info2", arr.toString());

「データ」という名前の配列など、何かを取得できるかどうかを確認するだけです。それでも、logcat には何も表示されません。最初の 2 つのログが表示されますが、3 番目のログは表示されません。何か案は?

4

1 に答える 1

1

それは JSONObject のように見えます。それをループして、データで好きなことをすることができます。特定の言語のドキュメントについては、 http://json.org/をご覧ください (Java が必要だと思われるので、Java リンクをクリックしてください)。

アイデアを提供するためにデータをテーブルに追加しました( jquery / javascript ):

fiddle:http://jsfiddle.net/H8LNB/4/

于 2013-06-03T00:00:41.753 に答える