简体   繁体   English

如何使用 Jquery 遍历此 JSON 数据以显示 klout 分数?

[英]How to loop through this JSON Data using Jquery to display klout score?

API JSON Data: 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}]}]}

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: HTML 数据:

<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必填 Output:需要显示影响者的影响力得分

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:好的,我不确定“Users”属性是否会被视为一个数组,或者一个单一实例或用户,但它可以是:

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.取决于如何感知“用户”HTH。 Dave戴夫

You aren't selecting the users in data.users.influencers :您没有选择data.users.influencers中的users

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

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>');
       });
    });
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM