Javascript 正在读取文件中的JSON数组,但无法访问该数组或推入i

Javascript 正在读取文件中的JSON数组,但无法访问该数组或推入i,javascript,json,Javascript,Json,json文件 $.getJSON(geocodingAPI, function (json) { var array = []; for (var key in json) { var item = json[key]; array.push({ name: item.player.player-name , position: item.player.player-stats.position, yd: item.player.

json文件

$.getJSON(geocodingAPI, function (json) {
var array = [];

for (var key in json) {

    var item = json[key];

    array.push({

       name: item.player.player-name ,
       position: item.player.player-stats.position,
       yd: item.player.player-stats.passing-yards,
       pa: item.player.player-stats.passing-touchdowns,

    });            
}
}    
);
` 您使用了:item.player.player-stats.position。访问变量时出现错误,原因是在变量名用户中使用-签名。 如果您使用-sing,那么您可以使用[player stats.position]访问。 如示例所示:

Json格式:

{ "players": [
{"player":{
        "player-name":"Cam Newton",
        "player-stats":{
            "position":"QB",
            "passing-yards":226,
            "passing-touchdowns":3


        }
}
},
{"player":{
    "player-name":"Aaron Rodgers",
    "player-stats":{
        "position":"QB",
        "passing-yards":327,
        "passing-touchdowns":3,


    }
}
}}
//这可能对你有帮助

 var json = {
        "players": {
                    "player": {
                        "player-name": "Cam Newton",
                        "player-stats": {
                            "position": "QB",
                            "passingYards": 226,
                            "passingTouchdowns": 3


                        }
                    },
                "player": {
                    "player-name": "Aaron Rodgers",
                    "player-stats": {
                        "position": "QB",
                        "passingYards": 327,
                        "passingTouchdowns": 3,
                    }

                }
            }

};

首先要使JSON有效。在这里,我更新了有效的JSON:

var array = [];
for (var key in json) {
       var item = json[key];
        for (var key in item) {
            var test = item[key];
            array.push({
               name: test["player-name"] ,
               position: test["player-stats"].position,
               yd: test["player-stats"].passingYards,
               pa: test["player-stats"].passingTouchdowns,

    }); 


    }
}`

请慢慢来,把你的问题说清楚。让代码看起来不错,同时展示您尝试过的代码和失败的代码,并准确解释它是如何失败的,您期望/想要发生的事情,以及实际发生的事情,包括错误信息你能发布你收到的错误信息吗?这是我第一次在这里发布,这就是为什么它是一条消息,没有错误信息,只是没有返回任何内容
{
"players": {
    "player": {
        "player-name": "Aaron Rodgers",
        "player-stats": {
            "position": "QB",
            "passingYards": 327,
            "passingTouchdowns": 3
        }
    }
}
}