javascript - 通过 JSON 数组时获得“未定义”结果
问题描述
我正在发出一个 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 文件:https ://pastebin.com/HGsxFcTM
我已经尝试过获取此文件的其他方法,例如 jsonp,但由于 Access-Control-Allow-Origin,这些方法不起作用。
先感谢您
解决方案
尝试这个 :
var armoryNews = {
"armorynews": {
"250852079": {
"timestamp": 1531570578,
"news": "<a href = \"http://www.torn.com/profiles.php?XID=2143655\">3dubbeltjes<\/a> used one of the faction's Xanax items."
},
"250848543": {
"timestamp": 1531567903,
"news": "<a href = \"http://www.torn.com/profiles.php?XID=2072880\">Akine<\/a> used one of the faction's Xanax items."
},
"250847811": {
"timestamp": 1531567248,
"news": "<a href = \"http://www.torn.com/profiles.php?XID=2147631\">Silnt<\/a> used one of the faction's Bottle of Beer items."
}
}
};
var armorynewsKeys = Object.keys(armoryNews["armorynews"]);
armorynewsKeys.map(item => {
console.log(armoryNews["armorynews"][item]);
});
推荐阅读
- selenium - '拒绝连接!selenium 服务器是否已启动?\n' 同时针对 Selenium Grid 运行 Nightwatch.js 测试
- java - 带括号语法的 Java 函数定义
- javascript - Angular Typescript 在 Switch 语句的视图中显示变量
- django - Django URL 标记:在模型 id 上获取 NoReverseMatch,即使它存在
- javascript - Rails j Query section_tag当前值未重置为默认值
- c++ - 在 Qt 中创建一个新窗口,它依赖于父窗口,但出现在父窗口之外
- android - 无法将 java.lang.string 转换为 json 对象
- javascript - Twitter API 应用程序身份验证,CORS 问题
- ios - Adobe Animate 缺少出口合规性 ITSAppUsesNonExemptEncryption False
- angular - 日期无效 - “MM/YYYY”字符串到日期转换时出错