我通过 JavaScript 脚本使用 JSON。JSON文件:
{
"section_1" : {
"1_1" : {
"name" : "№1",
"description" : "",
"image" : "images/1_1.jpg"
},
"1_2" : {
"name" : "№2",
"description" : "",
"image" : "images/1_2.jpg"
}
},
"section_2" : {
"2_1" : {
"name" : "№3",
"description" : "",
"image" : "images/2.jpg"
}
}
}
.js 文件:
$.getJSON('./MyJSON.json', function (data) {
var out = '';
for (var section in data){ // вывод всех товаров
for (var key in section){
out+='<img src="'+data[section][key].image+'" alt="">';
out+='<h5>'+data[section][key]['name']+'</h5>';
if (data[section][key]['description'] != "") {
out+='<p>'+data[section][key]['description']+'</p>';
}
}
}
});
加载页面并访问对象的值时,控制台给出以下错误(屏幕也附上)Cannot read property 'image' of undefined:. 屏幕附上。

请告诉我,我做错了什么?
第二个周期出错。
在循环中,密钥
for..in存储在一个变量中- 这是一个常规字符串。因此
section- 它只是一个字符串,而不是一个对象,现在这里它迭代的是字符串的字符,而不是对象中的键。
要解决它,得到你需要通过的对象就足够了: