-1

我正在为一个安卓应用程序开发 Facebook 分数 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 回答