【发布时间】:2017-11-09 08:05:11
【问题描述】:
我的 JSON 看起来像这样(设计可能有误)
{
"Supermarkt": {
"name": "Supermarkt",
"translations": {
"trolley": "Einkaufswagen",
"vegetables": "Gemüse",
"cocoa": "Kakao",
"chocolate": "Schokolade"
},
"pronunciations": []
},
"Script1336Kidee": {
"name": "Script1336Kidee",
"translations": {
"Trojaner": "RAT",
"Laufzeit-Packer": "Magie",
"PHP": "Der letzte Dreck",
"JavaScript": "Wild-West"
},
"pronunciations": []
}
}
我通过 ajax 调用得到的(已经通过 dataType: "json" $.ajax 选项进行 JSON 解码):
let lessonCall = $.ajax("https://www2.htw-dresden.de/~s70357/vokabel.php/",{dataType: "json"});
lessonCall.fail((jqXHR, status, error) => {
console.log(status);
console.log(error);
});
lessonCall.done((data,status) => {
console.log(status);
console.log(data);
for (let lesson in data){
console.log(lesson);
console.log(lesson.name);
}
});
问题是lesson.name未定义虽然console.log(data);显示健康的数据对象和健康的子子对象,但教训似乎只是一个类似字符串的东西。
如何遍历我的"name"s?!
【问题讨论】:
-
lesson是属性名称而不是值,每个 this -
@James 那么我该如何解决呢?
-
如何从对象中获取属性值,将属性名称包含在变量中? obj[propertyName].
-
是的,我没有意识到我正在尝试
lesson["name"]的“数组级别”操作,但它从来没有想过,因为我只是得到了索引。 Javascript 初学者,对不起,但谢谢!
标签: javascript jquery json ajax ecmascript-6