0

How can I access value whose key is different every time?

This is json object, and I need value of title key.

{
    "batchcomplete": "",
    "continue": {
        "gsroffset": 10,
        "continue": "gsroffset||"
    },
    "query": {
        "pages": {
            "76241": {
                "pageid": 76241,
                "ns": 0,
                "title": "Mount Shasta",
                "index": 8,
                "contentmodel": "wikitext",
                "pagelanguage": "en",
                "pagelanguagehtmlcode": "en",
                "pagelanguagedir": "ltr",
                "touched": "2016-02-14T12:14:09Z",
                "lastrevid": 702893013,
                "length": 29944
            },
            "418135": {
                "pageid": 418135,
                "ns": 0,
                "title": "Shasta",
                "index": 1,
                "contentmodel": "wikitext",
                "pagelanguage": "en",
                "pagelanguagehtmlcode": "en",
                "pagelanguagedir": "ltr",
                "touched": "2015-12-07T21:31:59Z",
                "lastrevid": 688618455,
                "length": 2827
            }, ...
11223342124
  • 175
  • 11

3 Answers3

2
var jsonObject = {};
for(var i in jsonObject.query.pages) {

    // i will be 76241 , 418135
    console.log(jsonObject.query.pages[i].title);
}
1

You can just loop over data.query.pages to get the keys and its data.

for(var key in data.query.pages){
    if(data.query.pages.hasOwnProperty(key){
        console.log(data.query.pages[key].title);
    }
}

You can also use Object.keys for this:

var keys = Object.keys(data.query.pages);
keys.forEach(function(key){
    console.log(data.query.pages[key].title);
});
gen_Eric
  • 223,194
  • 41
  • 299
  • 337
1

Iterate the json string using $.each() and catch the title:

$(document).ready(function(){

   $.each(json.query.pages, function(key, value){

     $("#res").append('<br />' + value.title);

   });

});

var json = {
    "batchcomplete": "",
    "continue": {
        "gsroffset": 10,
        "continue": "gsroffset||"
    },
    "query": {
        "pages": {
            "76241": {
                "pageid": 76241,
                "ns": 0,
                "title": "Mount Shasta",
                "index": 8,
                "contentmodel": "wikitext",
                "pagelanguage": "en",
                "pagelanguagehtmlcode": "en",
                "pagelanguagedir": "ltr",
                "touched": "2016-02-14T12:14:09Z",
                "lastrevid": 702893013,
                "length": 29944
            },
            "418135": {
                "pageid": 418135,
                "ns": 0,
                "title": "Shasta",
                "index": 1,
                "contentmodel": "wikitext",
                "pagelanguage": "en",
                "pagelanguagehtmlcode": "en",
                "pagelanguagedir": "ltr",
                "touched": "2015-12-07T21:31:59Z",
                "lastrevid": 688618455,
                "length": 2827
            }
         }
      }
    };


$(document).ready(function(){

$.each(json.query.pages, function(key, value){

  $("#res").append('<br />' + value.title);
});

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="res"></div>
KAD
  • 10,972
  • 4
  • 31
  • 73