【问题标题】:Twitter json object undefined (jQuery)Twitter json对象未定义(jQuery)
【发布时间】:2011-07-08 04:33:05
【问题描述】:

您好,我只是想通过从 Twitter 检索搜索结果来做一些简单的 AJAX 工作。它正在带回对象,但我似乎无法深入到对象本身并获取信息(例如文本)。

如果我使用 console.log(tweet),它会列出所有对象,但下面的代码只是说“未定义”。我确定我错过了一些简单的东西。

我在这里阅读了大量的问题/答案,但似乎没有人这样做。我看到很多人都使用过 .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>');
            });
        }
    });

【问题讨论】:

    标签: jquery json search twitter undefined


    【解决方案1】:

    你必须使用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=?&amp;q=twitter&amp;rpp=5返回的数据为json格式。请求的响应包含一个键值对。如果您将请求 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":""
    }
    

    可以使用$.each(function(i, tweet){ .... }) 使用tweet.&lt;key name&gt; 访问这些键/值中的每一个。例如:tweet.from_user_id_str、tweet.text、tweet.source 等...

    【讨论】:

    • 太棒了!感谢那。我没有听说过data.results。迷惑菜鸟,但还有其他 data.X 方法吗?当得到我美味的书签(也是 json)时,我不需要 data.results。 “数据”运行良好。
    猜你喜欢
    • 1970-01-01
    • 2012-04-11
    • 1970-01-01
    • 2013-10-30
    • 1970-01-01
    • 2012-03-16
    • 2012-08-26
    • 2018-06-07
    • 1970-01-01
    相关资源
    最近更新 更多