Javascript 遍历损坏的JSON对象
我目前正试图编写一个脚本来迭代一个JSON对象,不幸的是,我无法更改JSON对象的结构 但是,我相信JSON是无效的,因为没有键 这是我的JSON的结构: 这是我的当前脚本,但是它似乎没有遍历这个对象Javascript 遍历损坏的JSON对象,javascript,json,javascript-objects,Javascript,Json,Javascript Objects,我目前正试图编写一个脚本来迭代一个JSON对象,不幸的是,我无法更改JSON对象的结构 但是,我相信JSON是无效的,因为没有键 这是我的JSON的结构: 这是我的当前脚本,但是它似乎没有遍历这个对象 for (var key in greetings){ name = greetings[key].name console.log(name) msg = greetings[key].message
for (var key in greetings){
name = greetings[key].name
console.log(name)
msg = greetings[key].message
tag = '<ul>'+name+' wrote: '+message+'</ul>'
ul = ul + tag
}
至于循环,varaible的重新分配是为了让HTML我想让列表中的每个对象都有自己的标记,多亏了Patrick Bar,这段代码似乎是在服务器请求的异步回调之前执行的。这个问题现在已经解决了。非常感谢所有评论该字符串是有效的JSON。尝试一下,也许你正在寻找,添加到你的循环中,这样你就不会迭代原型属性。在这种情况下,一定是我的循环不起作用,有什么想法吗?循环很好,JSON也很好。我认为问题可能是您试图引用未定义的变量消息而不是msg。您何时运行for循环?是在您从服务器接收数据并记住XMLHttpRequests是异步的之后?
for (var key in greetings){
name = greetings[key].name
console.log(name)
msg = greetings[key].message
tag = '<ul>'+name+' wrote: '+message+'</ul>'
ul = ul + tag
}
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
greetings = JSON.parse(xhttp.responseText);
console.log(greetings);
}
};