迭代第三级JSON对象

时间:2013-06-05 05:25:04

标签: javascript jquery json facebook-graph-api

帮助!这一直困扰着我。

我通过Facebook的Graph API访问数据。如何获取应用程序名称?

{
     "data": [
          {
             "message": "Lorem ipsum dolor site amet.",
             "application": {
                "name": "Instagram",
                "namespace": "instapp",
                "id": "000000"
             }
          },
          {
             "message": "2 Lorem ipsum dolor site amet.",
             "application": {
                "name": "Instagram",
                "namespace": "instapp",
                "id": "000000"
             }
          }
       ]
}

到目前为止我的代码:

  $.getJSON(url,function(data){                       
    for( i=0; i < data.data.length; i++){
        var fbApp = data.data[i].application
        var fbMessage =  data.data[i].message;
        $(".facebook").append('<p>'+ fbMessage +'</p>');   
    }               
});

变量fbApp的输出为[object Object]undefined

data.data[i].application修改为data.data[i].application['name']会给我一个名称,但只有一个对象,因此循环停止。

似乎我需要重新访问对象[key](例如data [message])以获取应用程序[name]。我该怎么做呢?

1 个答案:

答案 0 :(得分:0)

JSON无效。应该是:

 "data": [
      {
         "message": "Lorem ipsum dolor site amet.",
         "application": {
            "name": "Instagram",
            "namespace": "instapp",
            "id": "000000"
         }
      },
      {
         "message": "2 Lorem ipsum dolor site amet.",
         "application": {
            "name": "Instagram",
            "namespace": "instapp",
            "id": "000000"
         }
      }
   ]

此外fbApp(基于var fbApp = data.data [i] .application)是一个对象(应用程序),所以如果你想访问application.name那么你可以做fbApp.name