Javascript 获得';未定义';通过JSON数组时的结果

Javascript 获得';未定义';通过JSON数组时的结果,javascript,json,ajax,api,Javascript,Json,Ajax,Api,我正在发出一个AJAX请求,返回一个JSON文件,我使用JSON.parse将其转换为一个数组,但是,当我尝试遍历一些对象时,结果是“未定义”,而不是JSON文件中的数据 function loadData() { var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status

我正在发出一个AJAX请求,返回一个JSON文件,我使用JSON.parse将其转换为一个数组,但是,当我尝试遍历一些对象时,结果是“未定义”,而不是JSON文件中的数据

    function loadData() {
    var xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
            var armoryNews = JSON.parse(this.responseText);
            console.log(armoryNews["armorynews"][0]);
        }
    };
    xhttp.open("GET", "https://api.torn.com/faction/8819?selections=armorynews&key=XXXXXXXXXX", true);
    xhttp.send();
}

loadData();
以下是我请求的JSON文件:

我尝试了其他获取此文件的方法,如jsonp,但由于访问控制允许源代码,这些方法无法工作


提前谢谢你

试试这个:

var armoryNews={
“军械库新闻”:{
"250852079": {
“时间戳”:1531570578,
“新闻”:“3dubbeltjes使用了该派系的Xanax物品之一。”
},
"250848543": {
“时间戳”:1531567903,
“新闻”:“阿金使用了该派系的一种Xanax道具。”
},
"250847811": {
“时间戳”:1531567248,
“新闻”:“Silnt使用了派系的一瓶啤酒。”
}
}
};
var armorynewskies=Object.keys(armoryNews[“armoryNews”]);
ArmoryNewskies.map(项=>{
log(armoryNews[“armoryNews”][item]);

});
armorynews包含另一个对象而不是数组,您需要通过其键而不是索引来访问它
armoryNews['armoryNews']['250852079']
。工作起来就像一个符咒,但是有没有其他方法来访问这些对象而不是它们的键呢?如果你想迭代整个
armoryNews['armoryNews']
dict,你可以使用一个循环:
for(armoryNews['armoryNews']中的var键){//['armorynews'][key]}
这正是我需要的,谢谢你们两位
Object.keys()
是另一个选项。