2010-01-01 72 views
1

我想使用jQuery getJSON解析来自JSON feed的数据。使用jQuery getJSON插入/解析JSON数据

$(function() { 
    $.getJSON('http://gdata.youtube.com/feeds/users/raywilliamjohnson/uploads?alt=json-in-script&callback=showMyVideos2&max-results=30', function(data) { 
     $.each(data.feed.entry, function(i, item) { 
      updated = item.updated; 
      url = item['media$group']['media$content']['url']; 
      thumb = item['media$group']['media$thumbnail'][0]['url']; 
      numViews = item['yt$statistics']['viewCount']; 
     }); 
    }); 
}); 

如何正确解释JSON数据并为数据项(例如url,numViews等)赋值变量?非常感谢您的帮助。

+0

你得到了什么错误? – 2010-01-01 01:51:56

回答

4

您需要将callback GET参数设置为?callback=?),以便jQuery能够正确地创建JSONP请求并执行回调。

也得到url,你需要在指数[0]访问项目,就像你得到thumb

$(function() { 
    $.getJSON('http://gdata.youtube.com/feeds/users/raywilliamjohnson/uploads?alt=json-in-script&callback=?&max-results=30', function(data) { 
     $.each(data.feed.entry, function(i, item) { 
      var updated = item.updated; 
      var url = item['media$group']['media$content'][0]['url']; 
      var thumb = item['media$group']['media$thumbnail'][0]['url']; 
      var numViews = item['yt$statistics']['viewCount']; 
      // ... 
     }); 
    }); 
}); 

检查为例here

+0

一个重要的注意事项是增加'var' – 2010-01-01 02:36:28

+0

@Justin:谢谢,我忘了提及它,只是为了记录,如果你做了一个任务(你错过了'var'语句)到一个未声明的标识符(一个是在范围链中无法访问),它将成为全局对象(全局变量)的成员,这是您并不真正需要或不需要的东西... – CMS 2010-01-01 05:41:02

+0

伟大的点CMS。感谢你们俩。 – Steve 2010-01-02 04:58:41