Javascript 遍历损坏的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

我目前正试图编写一个脚本来迭代一个JSON对象,不幸的是,我无法更改JSON对象的结构

但是,我相信JSON是无效的,因为没有键

这是我的JSON的结构: 这是我的当前脚本,但是它似乎没有遍历这个对象

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);
            }
        };