我正在使用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对象中获取extract元素。
请注意,此处解析不是实际问题,
如果解析它,我可以提取,
var data = jsonObject.query.pages.28249265.extract;
在上面的第28249265行是动态的,这对于不同的查询
会有所不同答案 0 :(得分:1)
假设你想遍历&#34; jsonObject.query.pages&#34;中的所有键。 你可以像这样提取它:
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
答案 1 :(得分:0)
您可以使用两种方法将其归档
obj = JSON.parse(json)
OR
obj = $.parseJSON(json);
<强>更新强>
试试这个
var obj = JSON.parse("your json data string");
//console.log(obj)
jQuery.each(obj.query.pages,function(a,val){
// here you can get data dynamically
var data = val.extract;
alert(val.extract);
});
JSBIN示例 JSBIN