2011-09-21 77 views
0

我正在尝试使用jquery显示facebook新闻源数据。它工作正常,但有一个问题。首先这里是我正在工作的Facebook新闻源。如何显示facebook图表api json数据

{ 
"data": 
[ 
    { 
     "id":"342432423", 
     "from": 
      { 
       "name":"name", 
       "id":"234234324" 
      }, 
     "message": "this is message", 
     "icon":"http://photos-d.ak.fbcdn.net/photos-ak-snc1/v27562/23/2231777543/app_2_2231777543_9553.gif", 
     "actions": 
      [ 
       { 
        "name":"Comment", 
        "link":"http://www.facebook.com/533187120/posts/10150296687547121" 
       }, 
       { 
        "name":"Like", 
        "link":"http://www.facebook.com/533187120/posts/10150296687547121" 
       }, 
       { 
        "name":"@name on Twitter", 
        "link":"http://twitter.com/name?utm_source=fb&utm_medium=fb&utm_campaign=Karsteinvolle&utm_content=23432423423" 
       } 
      ], 
     "type":"status", 
     "application":{"name":"Twitter","id":"2231777543"}, 
     "created_time":"2011-09-13T12:10:32+0000", 
     "updated_time":"2011-09-13T12:10:32+0000", 
     "comments":{"count":0} 
    }] 

所以问题是,我管理,以显示消息,从,类型,应用,CREATED_TIME等,但 如何显示行动?

这里是我的jQuery代码

$(function(){ 
      $.getJSON("json_data/newsfeed.json",function(d) { 
       //var actions = d.data.actions; 
       var html = "<ul>"; 
       $.each(d.data, function(i,res) { 
        //html += "<li><img src='" + res.icon + "' /></li>"; 
        html += "<li>From: " + res.from.name + "</li>"; 
        html += "<li>Message: " + res.message + "</li>"; 
        //alert(res.actions.length); 
        //$.each(d.data.actions, function(i, act) { 
        for(var i = 0; i < res.actions.length; i++) { 
         html += "<li>Actions: " + res[i] + " " + res.actions.link + "</li>"; 
        } 
         //html += "<li>Actions: " + act.name + "</li>"; 
        //}); 
       }); 
       html += "</ul>"; 
       $("#contents").html(html); 
      }); 
     }); 

我很困惑,请帮我

回答

0

要解析JSON,简单地做作为对象:

$.each(d.data, function(i,res) { 
    //[your code] 
    $.each(res.actions, function(i,action) { 
     // display action here 
     // action.name 
     // action.link 
    } 
}