Twitter json对象未定义(jQuery)

问题描述:

嗨我只是试图通过从Twitter检索搜索结果来做一些简单的AJAX的东西。它正在回收对象,但我似乎无法深入到对象本身并获取信息(如文本)。Twitter json对象未定义(jQuery)

如果我console.log(鸣叫),它列出了所有的对象,但下面的代码只是说“未定义”。我确定我错过了一些容易的事情。

我已经阅读了大量关于这里的问题/答案,但似乎没有人这样做。我看到很多使用.getJSON()方法,但使用.ajax()应该没问题,我会想?

$.ajax({ 
     dataType: 'jsonp', 
     url: 'http://search.twitter.com/search.json?callback=?&q=twitter&rpp=5', 
     success: function (data) { 
      $.each(data, function(i,tweet){ 
       console.log(tweet.text); 
       //$('#twitter ul').append('<li><a href="' + item.text + '">' + item.from_user_id + '</a></li>'); 
      }); 
     } 
    }); 

你必须使用data.results

$.ajax({ 
    dataType: 'jsonp', 
    url: 'http://search.twitter.com/search.json?callback=?&q=twitter&rpp=5', 
    success: function (data) { 
     $.each(data.results, function(i,tweet){ 
      alert(tweet.text); 
      //$('#twitter ul').append('<li><a href="' + item.text + '">' + item.from_user_id + '</a></li>'); 
     }); 
    } 
}); 

你可以找到一个工作样本here

更新时间:

我认为你是新的JavaScript和JSON数据格式。

由请求http://search.twitter.com/search.json?callback=?&q=twitter&rpp=5json格式返回的数据。该请求的响应包含一个键值对。如果您在浏览器中复制粘贴请求url,则可以看到查询的结果。

它以{results:[....]}开头,这意味着json对象包含一系列可以使用键results访问的项目。

结果数组中的每一项包含下列值

{ 
    "from_user_id_str":"", 
    "profile_image_url":"", 
    "created_at":"", 
    "from_user":"", 
    "id_str":"", 
    "metadata":{"result_type":"recent"}, 
    "to_user_id":null, 
    "text":"", 
    "id":, 
    "from_user_id": 0, 
    "geo":null, 
    "iso_language_code":"en", 
    "to_user_id_str":null, 
    "source":"" 
} 
每个这些键/值的

可以使用tweet.<key name>所述的$.each(function(i, tweet){ .... })访问。例如:tweet.from_user_id_str,tweet.text,tweet.source等等

+0

太好了!感谢那。我没有听说过data.results。冒险noob,但有没有其他data.X方法? 当得到我的美味书签(也JSON),我并不需要data.results。 '数据'工作正常。 – Leads