Javascript 如何解析动态json数据?
我正在使用wikipedia API我的json响应看起来像Javascript 如何解析动态json数据?,javascript,json,Javascript,Json,我正在使用wikipedia API我的json响应看起来像 "{ "query": { "normalized": [ { "from": "bitcoin", "to": "Bitcoin" } ], "pages": { "28249265": { "pageid":
"{
"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>"
}
}
}
}"
在响应中,pages元素将具有键值对的动态编号,如上例所示(“28249265
”)
如果我的pageId对于不同的结果是不同的,我如何从上面的json对象获取extract元素
请注意,解析在这里不是实际问题
如果解析它,我可以访问提取为
var data = jsonObject.query.pages.28249265.extract;
在上面的第28249265行是动态的,对于不同的查询,这将是不同的
obj = JSON.parse(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示例
假设您希望遍历“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
可能重复的不,我不认为是重复的,请检查最后一行
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