【发布时间】:2019-05-29 03:28:41
【问题描述】:
我正在尝试访问本地保存的 .json 文件,之后我想循环访问该文件。 这是gutscheinDB.json 文件:
{
"gutscheinData": [
{ "qrCode": "Esteban Gutierez",
"startDate": "01.01.2016",
"expireDate": "01.01.2020",
"JsBarcode": "2345532342324",
"text": "Gutschein für Autowäsche",
"value": "5€"
},
{
"qrCode": "Ronaldo Keita",
"startDate": "01.01.2017",
"expireDate": "01.01.2025",
"JsBarcode": "2345532342888",
"text": "Gutschein für Tanken",
"value": "50€"
}
]
}
这里是gutschein.js 文件:
var gutscheine=[];
function loadJSON(callback) {
var xobj = new XMLHttpRequest();
xobj.overrideMimeType("application/json");
xobj.open('GET', 'http://localhost:8080/src/js/gutscheinDB.Json', true);
xobj.onreadystatechange = function () {
if (xobj.readyState == 4 && xobj.status == "200") {
callback(JSON.parse(xobj.responseText));
}
};
xobj.send(null);
}
loadJSON(function (json) {
console.log(json); // this will log out the json object
gutscheine.push(json);
});
然后我想循环遍历gutschein 数组
for (var i in gutscheine.gutscheinData) {
for (gutscheine.gutscheinData[i] in gutscheine.gutscheinData[i].qrCode) {
var j =gutscheine.gutscheinData[i].qrCode;
console.log(j);
}
i ++;
}
我尝试并删除了我在 StackOverflow 和 w3 上找到的许多变体,但没有任何效果。 我无法访问每个对象的二维码。 在 Chrome 控制台中,我可以看到具有所有值的 >[] 数组和具有所有值的 jsonObject,但我无法像这样访问它们:
gutscheine.gutscheinData[0].qrCode;
【问题讨论】:
-
gutscheine是一个数组,您出于某种原因将整个对象推送给它,因此要访问 something 您必须执行gutscheine[0].gutscheinData[0].qrCode;跨度> -
除非您在服务器上运行此文件,否则您将无法加载文件
-
那么,您目前的问题是什么?这似乎没有在您的问题中描述
-
@George get 'Uncaught TypeError: Cannot read property '0' of undefined' 当我尝试这个时
标签: javascript arrays json foreach