我正在从维基百科的 API 请求 JSON,网址为
响应如下所示:
{
"query": {
"pages": {
"ramdom_number_here": {
"pageid": ramdom_number_here,
"ns": 0,
"title": "Hello",
"extract": "Hello world! Enchanté to meet you"
}
}
}
}
鉴于ramdom_number_here
更改每个请求(因此我们不知道),如何访问extrac
或title
的数据?
最佳答案
使用Object.keys(data)[x]
将主格路径替换为数据的坐标。
- Object.keys(data) -- 为您提供该级别的键列表。
- 然后使用
x
=目标数据的数字范围。对于第一个数据点,则 [x]=[0]。
解决方案> JSfiddle :
function WD(val) { // input
target_API_url = "http://zh.wikipedia.org/w/api.php?action=query&prop=description&titles=" + val.toString() + "&prop=extracts&exintro&explaintext&format=json&redirects&callback=?";
$.getJSON(target_API_url, function (json) {
trad = json.query.redirects[0].to; // no "var", variable is global
var item_id = Object.keys(json.query.pages)[0]; // THIS DO THE TRICK !
sent = JSON.stringify(json.query.pages[item_id].extract);
result = "<b>En:</b> "+val.toString() + ", <b>Zh: </b>"+trad.toString() + "<br /><b>⇒</b>" + sent.toString();
$('p').html(result); // transformation
});
};
WD("WTO");
鼓励+1欢迎。
关于javascript - 当父键名称未知时访问 JSON 项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19608227/