今天,我学习了Json的基础知识,并通过Jquery进行了解析。我知道我的问题是徒劳的,但我被困住了,无法找到出路。
以下代码不起作用....但我想我做的一切都很好
<html>
<head>
<div id="placeholder"></div>
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script>
$(document).ready(function(){
$.getJSON("http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=2d34860785184c2e3458de2bc437ecfc&tags=rose&format=json&nojsoncallback=1&api_sig=b7303e1d0d8a9fbb1159404ca7927e98",function(data){
var output="<ul>";
for (var i in data.photos) {
output+="<li>" + data.photos.photo[i].id+"</li>";
if (i === 3){
return false;
}
}
output+="</ul>";
document.getElementById("placeholder").innerHTML=output;
})
})
</script>
</head>
<body>
</body>
</html>
答案 0 :(得分:2)
您在 JSON 中的索引错误,需要进行以下更改。
$(document).ready(function () {
$.getJSON("http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=2d34860785184c2e3458de2bc437ecfc&tags=rose&format=json&nojsoncallback=1&api_sig=b7303e1d0d8a9fbb1159404ca7927e98", function (data) {
var output = "<ul>";
for (var i in data.photos.photo) { // The photo index is what you need;
// If you want to skip 3
if (i == 3) continue;
// Or if you want to stop at 3
if(i == 3) break;
output += "<li>" + data.photos.photo[i].id + "</li>";
}
output += "</ul>";
document.getElementById("placeholder").innerHTML = output;
});
});