Javascript 如何解析动态json数据?

Javascript 如何解析动态json数据?,javascript,json,Javascript,Json,我正在使用wikipedia API我的json响应看起来像 "{ "query": { "normalized": [ { "from": "bitcoin", "to": "Bitcoin" } ], "pages": { "28249265": { "pageid":

我正在使用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>"
            }
        }
    }
}"
在响应中,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