我正在使用Wikipedia API,我的json响应如下所示:
"{
"query": {
"normalized": [
{
"from": "bitcoin",
"to": "Bitcoin"
}
],
"pages": {
"28249265": {
"pageid": 28249265,
"ns": 0,
"title": "Bitcoin",
"extract": "<p><b>Bitcoin</b>isapeer-to-peerpaymentsystemintroducedasopensourcesoftwarein2009.Thedigitalcurrencycreatedandlikeacentralbank,
andthishasledtheUSTreasurytocallbitcoinadecentralizedcurrency....</p>"
}
}
}
}"
此响应来自XMLHTTPObject(request.responseText
)
我正在使用eval将上述字符串转换为json对象,如下所示,
var jsonObject = eval('(' +req.responseText+ ')');
在响应中,pages元素将具有键值对的动态编号,如上面的示例(“ 28249265
”所示)
如果我的pageId对于不同的结果不同,如何从json对象上方获取提取元素。
请注意,解析不是这里的实际问题,
如果解析它,我可以提取为,
var data = jsonObject.query.pages.28249265.extract;
在上面的28249265行中是动态的,这对于不同的查询将有所不同
假设您要遍历“ jsonObject.query.pages”中的所有键。您可以像这样提取它:
var pages = jsonObject.query.pages;
for (k in pages) { // here k represents the page no i.e. 28249265
var data = pages[k].extract;
// what u wana do with data here
}
或者您可以先提取数组中的所有页面数据。
var datas = [];
var pages = jsonObject.query.pages;
for (k in pages) {
datas.push(pages[k].extract);
}
// what u wana do with data array here
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句