好的,所以我有以下代码,它应该搜索Urban Dictionary一段时间,然后将定义记录到控制台:
var xhr = new XMLHttpRequest();
xhr.open("GET", "http://api.urbandictionary.com/v0/define?term=polar%20vortex", true);
xhr.onload = function (e) {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
console.log(xhr.responseText);
var response = JSON.parse(xhr.responseText);
console.log("Definition: " + response.list.definition);
} else {
console.error(xhr.statusText);
}
}
};
xhr.onerror = function (e) {
console.error(xhr.statusText);
};
xhr.send(null);
但是,当我运行代码时,它返回值“undefined”。我相信这是因为JSON中的“list”标签下有多个“definition”标签(看看here)。
所以,我的问题是,如何获得第一个定义并忽略带有“definition”标签的所有其他值?
谢谢!
答案 0 :(得分:1)
此处response.list
是一个数组。所以你可以通过索引来访问它:
console.log("Definition: " + response.list[0].definition);
这应该会给你列表中的第一个定义。