2013-08-27 46 views
-1

這裏是我試圖解析

{"sites":{"1":{"id":1,"company":"facebook","username":"[email protected]","hint":"mascot"}}} 

這裏JSON是JavaScript解析它。它正在工作,然後JSON的結構發生了變化,我不能爲了我的生活得到它的工作。結果是'undefinedundefined',這意味着它不知道用戶名和提示是什麼。有什麼想法嗎?

$.getJSON('http://localhost:3000/sites.json', 'limit=30', processWebsites); 
     function processWebsites(data) { 
     var infoHTML=''; 


     $.each(data, function(website, websiteDetails) { 
     infoHTML+= websiteDetails.username 
     infoHTML+= websiteDetails.hint; 
     }); 

     $('#info').html(infoHTML); 
     } 

最後將HTML

<body> 

     <div id = "info"> 

     </div> 

    </body> 
+0

您似乎需要'$ .each(data.sites,...)'。 –

+0

你明白了。非常感謝你 – brad

+0

後續問題 - 是否有一種方法可以在每行JSON後面添加換行符。我現在有2行JSON,它們都在一行上。
是否在下面的每個infoHTML中的js代碼中? – brad

回答

0

我需要數據之後.sites。這固定它。

0

我相信felix是正確的。如果你只是安慰這一點,你會得到你需要的價值。 更新:添加您的休息

var infoHTML = []; 
var data = {"sites":{"1":{"id":1,"company":"facebook","username":"[email protected]","hint":"mascot"}}}; 

jQuery.each(data.sites, function(){ 
    infoHTML.push(this.username + '<br>' + this.hint); 
}); 

如果你碰巧得到一個以上的分組,然後只需用2分BR的加入他們的行列,如果你想要一些政企分開。

$('#info').html(infoHTML.join('<br><br>')); 

我相信有更多雄辯的方法。這只是快速和骯髒。