0

我试图在 JSON 块中从用户那里吐出所有场景,但我错过了一些东西......

你想看看吗?

我也把它放在这里:http: //jsfiddle.net/RBergante/2HwEH/

这是我所拥有的:

function scenes(){
    var allscenes = new Array();
    for (var i in data.users){
        allscenes = data.users[i].scenes.scene;
        document.write(allscenes[i] + "</br>");
    }
}

var data={"users":[
    {
        "firstName":"Rick",
        "lastName":"Villalobos",
        "pic":"http://ia.media-imdb.com/images/M/MV5BMTg2NTEyNTE3NF5BMl5BanBnXkFtZTcwNjY3NzM0OA@@._V1._SY209_CR1,0,140,209_.jpg",
        "scenes": {
            "scene": "In the Woods",
            "scene": "City lights",
            "scene": "Marnon Willis"                        
        },
        "joined": {
            "month":"January",
            "day":12,
            "year":2012
        }
    },
    {
        "firstName":"John",
        "lastName":"Jones",
        "pic":"http://ia.media-imdb.com/images/M/MV5BMTU4MDA1NDU1NV5BMl5BanBnXkFtZTcwMjYzNTYxOA@@._V1._SY209_CR0,0,140,209_.jpg",
        "joined": {
            "month":"April",
            "day":28,
            "year":2010
        }
    }   
]}

scenes();

谢谢!

4

1 回答 1

1

因为一个对象不能有多个相同键的属性。场景应该是一个数组:

"scenes": ["In the Woods", "City lights", "Marnon Willis"]

http://jsfiddle.net/2HwEH/1/

  • 此外,在遍历数组时,不要使用它,for-in因为它还会遍历数组属性,而不仅仅是索引内容。使用forwhile代替。

  • 此外,您不应该使用document.write(),尤其是在页面完成加载之后(例如,稍后在函数中调用)。

于 2013-02-20T11:50:08.817 回答