我正在使用Ajax访问字典REST API。
$.ajax({
url: "http://api.wordnik.com//v4/word.json/cat/definitions?api_key=mykey&includeRelated=false&includeTags=false&limit=1",
dataType : 'json',
success: function(data) {
//called when successful
alert(data.word);
},
error: function(e) {
//called when there is an error
console.log(e.message);
}
});
回应:
[
{
"textProns": [],
"sourceDictionary": "ahd-legacy",
"exampleUses": [],
"relatedWords": [],
"labels": [],
"citations": [],
"word": "cat",
"text": "A small carnivorous mammal (Felis catus or F. domesticus) domesticated since early times as a catcher of rats and mice and as a pet and existing in several distinctive breeds and varieties.",
"sequence": "0",
"score": 0.0,
"partOfSpeech": "noun",
"attributionText": "from The American Heritage® Dictionary of the English Language, 4th Edition"
}
]
在我的测试示例中,我获得成功警告undefined
。我看到的大多数Ajax示例使用循环,但我返回一个结果。如何从对象中提取word
和text
值?
答案 0 :(得分:7)
正如您所看到的,您的回复以[
开头,以]
结尾。所以你的回答是一个数组。然后,在数组内部,您将获得对象(以{
开头,以}
结尾)。因此,您的data
是一个数组,可以使用data[x]
(x是索引)访问,并且可以使用.dot表示法访问所选对象的每个成员:.word
, .text
等等。因此,在您的情况下,如果只有一个结果,您可以执行data[0].word
。
答案 1 :(得分:6)
响应是数组内部的对象。试试data[0].word
答案 2 :(得分:3)