我是一个新的程序员,试图学习JSON和JQUERY。
我想从URL获取数据,该URL有效,但由于某种原因应用for循环时,它将无法工作。我试着在网上看,但似乎都没用。
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
</head>
<body>
</body>
<script>
$(document).ready(function(){
$.getJSON('myurlgoeshere', function(data){
for(i = 0; i < data.length; i++) {
document.write(data.members[i].members);
}
});
});
</script>
</html>
我的Json代码如下(抱歉,删除了数组中的数据,因为这是私有的)。
{
"channels": [],
"instant_invite": null,
"id": "574592393862708225",
"members": [],
"name": "553b"
}
我希望它循环播放,以便例如显示所有当前成员。但是当我应用此代码时,什么也没有显示(也没有错误)。
答案 0 :(得分:0)
似乎您不想迭代整个返回的JSON,而只希望迭代响应的members
部分。
$(document).ready(function(){
$.getJSON('myurlgoeshere', function(data) {
// checking if the "data.members" node exists.
// You could extend the check wit " && data.members.length" to make sure the returned element is iterable
if (data && data.members) {
for (i = 0; i < data.members.length; i++) {
document.write(data.members[i]);
}
} else {
document.write("Returned content did not contain the required 'members' node");
}
});
});
答案 1 :(得分:0)
我将示例写为html / JavaScript。
<script type="text/javascript">
function fntTest2 (data){
//for(i = 0; i < data.length; i++) {
for(i = 0; i < data.members.length; i++) {
alert(data.members[i].members);
}
}
var json1 = {
"channels": [],
"instant_invite": null,
"id": "574592393862708225",
"members": [],
"name": "553b"
};
var json2 = {
"channels": [],
"instant_invite": null,
"id": "574592393862708225",
"members": [{
"members": "0",
"A": "12345",
"B": "12345",
"C": "12345",
"D": "12345",
},
{
"members": "1",
"A": "12389",
"B": "12389",
"C": "12389",
"D": "12389",
}],
"name": "553b"
};
fntTest2(json1);
fntTest2(json2);
</script>