gpt4 book ai didi

javascript - For...in 循环不从 JSON 对象列表返回值

转载 作者:行者123 更新时间:2023-11-30 07:59:49 24 4
gpt4 key购买 nike

我正在使用 for...in 循环将 JSON 数据集中的值写入网页上的无序列表。

当执行下面的代码时,我只得到一个列表项元素,其中包含 JSON 数据中的所有对象,而不是每个对象的单个列表项。 JSON 数据中对象的值也未写入列表项元素。

HTML:

<html>
<body>
<ul id="test">
</ul>
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script type="text/javascript" src="doer_json.js"></script>
</body>
</html>

JS:

$.getJSON('doer_data.json', function(data) {            
for (key in data) {
$('#test').append("<li>" + data[key] + "</li>");
} // for loop

$('#test li').css("color", "blue"); });

JSON 数据:

{ "list" : 
[
{"todo": "Complete remaining Duckett chapters."},
{"todo": "Watch AngularJs video on Lynda.com."},
{"todo": "Complete design specification for Doer app."},
{"todo": "Complete play."},
{"todo": "Finish Flatland."},
{"todo": "Finish Harper's"}

]}

有趣的是,当在 .append() 方法中使用 data[key].todo 时,我能够检索 JSON 对象的值并将它们添加到无序列表成功。昨天。今天这段代码不起作用。所以我要么昨天做错了,要么是其他原因导致这段代码不能正确执行。

最佳答案

您要循环的数据在 list 数组中,因此您需要修改代码以使用带有递增索引变量的 for 循环,并遍历 data.list,而不仅仅是 data。试试这个:

for (var i = 0; i < data.list.length; i++) {
$('#test').append("<li>" + data.list[i].todo + "</li>");
}

Example fiddle

关于javascript - For...in 循环不从 JSON 对象列表返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30924972/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com