格式化用于Twitter Feed的JSON数据

时间:2014-02-20 01:36:39

标签: javascript ajax json twitter

我正在尝试将Twitter Feed添加到我的网站。这个简单的任务已经膨胀成一个完整的项目,我可以使用一些帮助。

我已经注册了Twitter的API并使用了这个:http://chrissimpkins.github.io/tweetledee/我能够从Twitter Feed中检索自定义的JSON数据

例如,以下是我的Twitter(@HeroGreg)JSON数据:

http://www.davidseaman.com/tweetledee/userjson.php?user=HeroGreg

我在某种程度上了解JSON是如何工作的,但考虑到这是我第一次尝试解码JSON我不知所措..

有人可以建议我如何将这些数据转换为HTML代码吗?我只需要一个起点,我已经看过一些例子,但它们没有链接到外部文件,所以很难从中学习。我不是要求别人为我做我的工作,但如果有人可以提供除了链接到“阅读本指南”的页面以外的其他内容,那就太好了。感谢

编辑:也许这会吗? http://json2html.com/ ......

2 个答案:

答案 0 :(得分:1)

使用jQuery ... jQuery.get()..第一个参数是你的站点URL json,第二个参数是回调。访问jquery网站...(我使用移动设备,无法粘贴代码rs);

现在您可以使用foreach浏览数据并在视图中打印...

答案 1 :(得分:1)

对我来说最好的解决方案是使用JQuery的Get函数(如建议的那样)。我之前从未使用过JSON,这就是我管理的内容:

$(document).ready(function(){
 $.getJSON( "/tweetledee/userjson.php?c=10&user=d_seaman&xrp=1&xrt=1", function(obj) { 
  $.each(obj, function(key, value) { 
         $("#feed").append("<li>"+value.text+"</li><li>"+value.retweet_count+"</li><li>"+value.favorite_count+"</li><li>"+value.user.name+"</li>");
         var date = $('<small>').text(prettyDate(value.created_at));
         $("#feed").append(date);            
  });
 });
});
/*
 * JavaScript Pretty Date
 * Copyright (c) 2011 John Resig (ejohn.org)
 * Licensed under the MIT and GPL licenses.
 */
function prettyDate(time){
    var date = new Date((time || "").replace(/-/g,"/").replace(/[TZ]/g," ")),
        diff = (((new Date()).getTime() - date.getTime()) / 1000),
        day_diff = Math.floor(diff / 86400);

    if ( isNaN(day_diff) || day_diff < 0 || day_diff >= 31 )
        return;

    return day_diff == 0 && (
            diff < 60 && "just now" ||
            diff < 120 && "1 minute ago" ||
            diff < 3600 && Math.floor( diff / 60 ) + " minutes ago" ||
            diff < 7200 && "1 hour ago" ||
            diff < 86400 && Math.floor( diff / 3600 ) + " hours ago") ||
        day_diff == 1 && "Yesterday" ||
        day_diff < 7 && day_diff + " days ago" ||
        day_diff < 31 && Math.ceil( day_diff / 7 ) + " weeks ago";
    }
});

此代码获取以下信息:推文/转发数量/收藏者数量/用户名/发布日期

JSON脚本(prettyDate)下面的脚本将日期转换为更简化的格式。所以不是显示:'Sat Dec 17 02:20:42 +0000'它说'1小时前'