鉴于WikipediaAPI,英文维基百科上的文章标题,我已经提供了一个JSON:
var url = "http://en.wikipedia.org/w/api.php?action=query&prop=description&titles=Unicorn&prop=extracts&exsentences=10&explaintext&format=json";
响应如下:
{
"query": {
"pages": {
"ramdom_number_here": {
"pageid": ramdom_number_here,
"ns": 0,
"title": "Unicorn",
"extract": "The unicorn is a legendary animal that has been described since antiquity as a beast with a large, pointed, spiraling horn projecting from its forehead."
}
}
}
}
鉴于每篇文章<ramdom_number_here>
发生了变化,因而无法预测。
如何掌握extract
或title
的值以重复使用它?
答案 0 :(得分:3)
主要是攻击API的好网址,JQuery $ .getJSON,以及传递项目ID的诙谐技巧。在那里,使用Object.keys(data)[x]
用您的数据坐标替换名义路径与Object.keys(data)[i]。
i
=目标数据的数字范围。对于第一个数据点,对于我们[i] = [0]。解决方案&GT; JSfiddle:
function WD(item) {
url = "http://en.wikipedia.org/w/api.php?action=query&prop=description&titles=" + item.toString() + "&prop=extracts&exintro&explaintext&format=json&redirects&callback=?";
$.getJSON(url, function (json) {
var item_id = Object.keys(json.query.pages)[0]; // THIS DO THE TRICK !
sent = json.query.pages[item_id].extract;
result = "<b>En :</b> <t>" + item + "</t> <b>⇒</b> " + sent;
$('#anchor1').append("<div>"+result+"</div>"); // transformation
});
}
WD("Dragon");
通过一些扩展var list = ["dragon", "Unicorn", "Cat"]
,一个包装$.each()
函数,一些快速CSS,我得到了一个优雅而简单的结果:
如果你想要html,请删除&explaintext
。深入了解Wikipedia API以获取更多功能。
鼓励+1欢迎。