以JSON格式从下一项检索信息(Twitter API)

Retrieving information from next item in JSON (Twitter API)

本文关键字:一项 检索 信息 API Twitter 格式 JSON      更新时间:2023-09-26

我试图建立一个显示用户tweet的页面,但是在每个tweet之间,我想可视化表示用户可以在该时间段内输入的空间。

我一直在绕着我想要达到的逻辑兜圈子,却一事无成。我当前的代码在这里:http://jsfiddle.net/k5234/,但这并不包括循环,我试图实现的代码需要项目'created_at字段(当前推文的日期/时间),并把它从下一个项目。created_at。

如果有人能给我指出正确的方向,告诉我如何让我的代码工作,我将非常感激。我正在工作的基础上3x   s == 1秒。

澄清一下,如果用户在下午1点05分发推文,然后在下午1点07分再次发推文,将有120秒的空白空间。120秒* 3个字符=两个tweet之间的360个空格。希望这一切都说得通。

谢谢,大卫。

附加信息:想象有人不断发推文。这一页将满是文字。然而,在现实中,有些人只是偶尔发推文。推文之后的空格(直到他们的下一条)的大小将代表他们当时可以输入的内容。如。我发了一条微博,10分钟内不再发。在我的页面上可视化的将是这最后一条推文,但前一条将出现1800个空格之后(10分钟* 60秒*每秒3个字符= 1800个空格)。我可以检索的是在需要的时候推文的日期,但我遇到的麻烦是得到下一个推文的时间,以确定在以这种方式呈现信息的阶段的差距。

我想你的问题很清楚。

看看这个解决方案是否有效:-

       function getTweets() {
            html += "<pre>";
            $.each(data, function(i, item) {
                html += item.text; // add tweet
                var timeCreated = new Date(item.created_at); // date of tweet
                if( (i+1) in data)
                {
                var timeTillNextTweet = new Date( data[ i+1 ].created_at);
                var timeDiff = timeTillNextTweet.getTime() - timeCreated.getTime();
                var secondsDifference = Math.floor(timeDiff/1000);
                // use secondsDifference to generate the spaces..
                }
            });
            html += "</pre>";
        }

可以这样写:

var current;
var previous;
$.each(data, function(i, item) {
  previous = current;
  current = Date.parse(item.created_at);
  html += "Tweet " + i +" " + (previous - current)/3000 + " spaces'n"
});