具有相同标记的多个值

时间:2014-01-23 22:51:54

标签: javascript json api

好的,所以我有以下代码,它应该搜索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”标签的所有其他值?

谢谢!

1 个答案:

答案 0 :(得分:1)

此处response.list是一个数组。所以你可以通过索引来访问它:

console.log("Definition: " + response.list[0].definition);

这应该会给你列表中的第一个定义。