从文件中的JSON数组中读取,不能访问该数组或将其压入其中

Reading from JSON array in a file and can't access the array or push into i

本文关键字:数组 访问 文件 JSON 读取 不能      更新时间:2023-09-26
$.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,
    });            
}
}    
);
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,

    }
}
}}

'你使用的是:item.player.player-stats。的位置。当访问变量的原因是-在变量名用户中使用符号时,您将得到一个错误。如果你使用- sing,那么你可以使用["player-stats.position"]来访问。示例:

Json格式:

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

//代码可能对你有帮助。

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

    }
}`

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

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