如何使用 Jquery 循环此 JSON 数据以显示 klout 分数?

发布于 2024-11-17 22:54:35 字数 1149 浏览 1 评论 0原文

API JSON 数据:

{"status":200,"users":[{"twitter_screen_name":"mikerbrt","influencers":
[{"twitter_screen_name":"techcrunch","kscore":85.17},    
{"twitter_screen_name":"tinucherian","kscore":61.5},
{"twitter_screen_name":"scobleizer","kscore":84.08},
{"twitter_screen_name":"startwerk","kscore":42.12},
{"twitter_screen_name":"mikeschwede","kscore":61.89}]}]}

脚本:

$( "#getTweets" ).bind( "click", function() {
    var twitterUsername = $( "#twitterUsername" ).val();   
     var url = "http://api.klout.com/1/soi/influenced_by.json?key=7zcwhzhdp4w45q9fdqw9gqsc" + "&users=" +  twitterUsername + "&callback=?";
    $.getJSON( url, function( data ) {
             for(var i=0; i < data.influencers.length; i++) {
  alert(data.influencers[i].kscore);
      } 
           });
});

HTML 数据:

<div id="input">
    <span>Enter Twitter Username</span>
    <input id="twitterUsername" type="text" />
    <button id="getTweets">Get Tweets</button>
</div>
<ul></ul>

所需输出: 需要显示影响者的 klout 分数

API JSON Data:

{"status":200,"users":[{"twitter_screen_name":"mikerbrt","influencers":
[{"twitter_screen_name":"techcrunch","kscore":85.17},    
{"twitter_screen_name":"tinucherian","kscore":61.5},
{"twitter_screen_name":"scobleizer","kscore":84.08},
{"twitter_screen_name":"startwerk","kscore":42.12},
{"twitter_screen_name":"mikeschwede","kscore":61.89}]}]}

Script:

$( "#getTweets" ).bind( "click", function() {
    var twitterUsername = $( "#twitterUsername" ).val();   
     var url = "http://api.klout.com/1/soi/influenced_by.json?key=7zcwhzhdp4w45q9fdqw9gqsc" + "&users=" +  twitterUsername + "&callback=?";
    $.getJSON( url, function( data ) {
             for(var i=0; i < data.influencers.length; i++) {
  alert(data.influencers[i].kscore);
      } 
           });
});

HTML Data:

<div id="input">
    <span>Enter Twitter Username</span>
    <input id="twitterUsername" type="text" />
    <button id="getTweets">Get Tweets</button>
</div>
<ul></ul>

Required Output: Need to display klout score of influencers

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

万人眼中万个我 2024-11-24 22:54:35

好的,我不确定“Users”属性是否会被视为数组、单个实例或用户,但它将是:

for(var i=0; i < data.users[0].influencers.length; i++) {
  alert(data.users[0].influencers[i].kscore);
} 

for(var i=0; i < data.users.influencers.length; i++) {
  alert(data.users.influencers[i].kscore);
} 

取决于“用户”的感知方式
HTH。
戴夫

ok, I'm not sure if "Users" property will be treated as an array, or a Single Instance or users, but it will be either :

for(var i=0; i < data.users[0].influencers.length; i++) {
  alert(data.users[0].influencers[i].kscore);
} 

or

for(var i=0; i < data.users.influencers.length; i++) {
  alert(data.users.influencers[i].kscore);
} 

depending on how "users" is perceieved
HTH.
Dave

旧伤慢歌 2024-11-24 22:54:35

您没有选择 data.users.influencers 中的users

$.getJSON( url, function( data ) {
  $.each(data.users,function(u,users){
     $.each(users.influencers,function(i,user){
      alert(user.kscore);
     });
  });     
}

You aren't selecting the users in data.users.influencers:

$.getJSON( url, function( data ) {
  $.each(data.users,function(u,users){
     $.each(users.influencers,function(i,user){
      alert(user.kscore);
     });
  });     
}
琴流音 2024-11-24 22:54:35

由于您只能获取一个用户的数据,因此您可以执行以下操作:

DEMO HERE

<div id="input">
    <span>Enter Twitter Username</span>
    <input id="twitterUsername" type="text" />
    <button id="getTweets">Get Tweets</button>
</div>
<ul id="klout"></ul>

$( "#getTweets" ).bind( "click", function() {
    var twitterUsername = $( "#twitterUsername" ).val();   
     var url = "http://api.klout.com/1/soi/influenced_by.json?key=7zcwhzhdp4w45q9fdqw9gqsc" + "&users=" +  twitterUsername + "&callback=?";
    $.getJSON( url, function( data ) {
        $.each(data.users[0].influencers,function(j, influenser) { // array
  $("#klout").append('<li>'+influenser.twitter_screen_name+':'+influenser.kscore+'</li>');
       });
    });
});

since you only get ONE user's data, you can do this:

DEMO HERE

<div id="input">
    <span>Enter Twitter Username</span>
    <input id="twitterUsername" type="text" />
    <button id="getTweets">Get Tweets</button>
</div>
<ul id="klout"></ul>

$( "#getTweets" ).bind( "click", function() {
    var twitterUsername = $( "#twitterUsername" ).val();   
     var url = "http://api.klout.com/1/soi/influenced_by.json?key=7zcwhzhdp4w45q9fdqw9gqsc" + "&users=" +  twitterUsername + "&callback=?";
    $.getJSON( url, function( data ) {
        $.each(data.users[0].influencers,function(j, influenser) { // array
  $("#klout").append('<li>'+influenser.twitter_screen_name+':'+influenser.kscore+'</li>');
       });
    });
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文