使用JS从Facebook的Graph API重新格式化JSON字符串

时间:2011-08-06 10:54:03

标签: javascript json facebook-graph-api

  

可能重复:
  How do I remove a wrapper from a JSON Object?

使用图形api时,我正在为朋友使用的数组......

(https://graph.facebook.com/me/friends?access_token=...)

......看起来像这样 - >

{
   "data": [
      {
         "name": "Person 1",
         "id": "123123121"
      },
      {
         "name": "Person 2",
         "id": "123123122"
      },
      {
         "name": "Person 2",
         "id": "123123123"
      },
   ]
}

有没有简单的方法来重新格式化数组(使用javascript)? - >

[
  {
     "name": "Person 1",
     "id": "123123121"
  },
  {
     "name": "Person 2",
     "id": "123123122"
  },
  {
     "name": "Person 2",
     "id": "123123123"
  },
]
编辑:道歉我应该提到 - 如果这可以通过javascript实现,请告诉我,我可以用php重新格式化json字符串,但加载时间太慢。

干杯

1 个答案:

答案 0 :(得分:1)

我不确定我是否在这里正确理解了这个要求,但似乎你只想要一个对象数组。这就是data包含的内容。

所以你得到的是:

{    // outer object wrapper
   "data": [  // array of data objects
      {  // first data object
         "name": "Person 1",
         "id": "123123121"
      },

如果你想要的是一个对象数组,那么只需要取data数组。它包含在这样的外部对象中,因为有时Facebook必须传递其他信息以及数据,例如分页信息,在这种情况下,您的响应将如下所示:

{
    "data": [
        {
            "name": "Person 1",
            "id": "123123121"
        } // etc
    ],
    "paging": {
        {
            // paging information
        }
    ]
}

如果您需要更多信息,请通过您正在进行的FB.api来电更新您的问题。