Can't access a propertu in a JSON object











up vote
0
down vote

favorite
1












I want to access a property in a JSON object i'm getting from the wikipedia API.
You can see the object here



{
"batchcomplete": "",
"query": {
"normalized": [
{
"from": "baguette",
"to": "Baguette"
}
],
"pages": {
"274152": {
"pageid": 274152,
"ns": 0,
"title": "Baguette",
"extract": "Une baguette est, dans son sens premier, une tige de bois, de métal, ou de divers autres matériaux ; le mot peut désigner aussi d’autres concepts, notamment par métonymie.nn"
}
}
}
}


What I want is : query -> pages -> 274152 -> extract



I can access this value but the problem is I need to know the '274152' value which changes for every object so I'd like a solution to access it which would work for any number.



So the farthest I can go is obj.query.pages



Any idea ? Thanks










share|improve this question




























    up vote
    0
    down vote

    favorite
    1












    I want to access a property in a JSON object i'm getting from the wikipedia API.
    You can see the object here



    {
    "batchcomplete": "",
    "query": {
    "normalized": [
    {
    "from": "baguette",
    "to": "Baguette"
    }
    ],
    "pages": {
    "274152": {
    "pageid": 274152,
    "ns": 0,
    "title": "Baguette",
    "extract": "Une baguette est, dans son sens premier, une tige de bois, de métal, ou de divers autres matériaux ; le mot peut désigner aussi d’autres concepts, notamment par métonymie.nn"
    }
    }
    }
    }


    What I want is : query -> pages -> 274152 -> extract



    I can access this value but the problem is I need to know the '274152' value which changes for every object so I'd like a solution to access it which would work for any number.



    So the farthest I can go is obj.query.pages



    Any idea ? Thanks










    share|improve this question


























      up vote
      0
      down vote

      favorite
      1









      up vote
      0
      down vote

      favorite
      1






      1





      I want to access a property in a JSON object i'm getting from the wikipedia API.
      You can see the object here



      {
      "batchcomplete": "",
      "query": {
      "normalized": [
      {
      "from": "baguette",
      "to": "Baguette"
      }
      ],
      "pages": {
      "274152": {
      "pageid": 274152,
      "ns": 0,
      "title": "Baguette",
      "extract": "Une baguette est, dans son sens premier, une tige de bois, de métal, ou de divers autres matériaux ; le mot peut désigner aussi d’autres concepts, notamment par métonymie.nn"
      }
      }
      }
      }


      What I want is : query -> pages -> 274152 -> extract



      I can access this value but the problem is I need to know the '274152' value which changes for every object so I'd like a solution to access it which would work for any number.



      So the farthest I can go is obj.query.pages



      Any idea ? Thanks










      share|improve this question















      I want to access a property in a JSON object i'm getting from the wikipedia API.
      You can see the object here



      {
      "batchcomplete": "",
      "query": {
      "normalized": [
      {
      "from": "baguette",
      "to": "Baguette"
      }
      ],
      "pages": {
      "274152": {
      "pageid": 274152,
      "ns": 0,
      "title": "Baguette",
      "extract": "Une baguette est, dans son sens premier, une tige de bois, de métal, ou de divers autres matériaux ; le mot peut désigner aussi d’autres concepts, notamment par métonymie.nn"
      }
      }
      }
      }


      What I want is : query -> pages -> 274152 -> extract



      I can access this value but the problem is I need to know the '274152' value which changes for every object so I'd like a solution to access it which would work for any number.



      So the farthest I can go is obj.query.pages



      Any idea ? Thanks







      javascript json






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 22 at 14:25









      phuzi

      4,55011835




      4,55011835










      asked Nov 22 at 14:11









      Victofu

      166




      166
























          3 Answers
          3






          active

          oldest

          votes

















          up vote
          0
          down vote













          You can use:



          var keys = Object.keys(obj.query.pages);


          To get array of properties defined in the pages object. Then you can basically do obj.query.pages[keys[i]] to access i-th item in the pages object, for example:



          obj.query.pages[keys[0]].extract


          Alternatively you can loop over the properties like this:



          for (var key in obj.query.pages) {
          if (obj.query.pages.hasOwnProperty(key)) {
          var item = obj.query.pages[key];
          //do something with item
          //item.extract...
          }
          }





          share|improve this answer






























            up vote
            0
            down vote













            Assuming the given JSON is a variable data



            let uniqueID = Object.keys(data.query.pages)[0];
            data.query.pages[uniqueID].extract


            Will give you the desired result.






            share|improve this answer




























              up vote
              0
              down vote













              If you just care about the 'extract' part, you can try this:



              Object.values(obj.query.pages).map(item => item.extract)


              To get a list of all the values






              share|improve this answer























              • i think, it will return an array.
                – saibbyweb
                Nov 22 at 14:29











              Your Answer






              StackExchange.ifUsing("editor", function () {
              StackExchange.using("externalEditor", function () {
              StackExchange.using("snippets", function () {
              StackExchange.snippets.init();
              });
              });
              }, "code-snippets");

              StackExchange.ready(function() {
              var channelOptions = {
              tags: "".split(" "),
              id: "1"
              };
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function() {
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled) {
              StackExchange.using("snippets", function() {
              createEditor();
              });
              }
              else {
              createEditor();
              }
              });

              function createEditor() {
              StackExchange.prepareEditor({
              heartbeatType: 'answer',
              convertImagesToLinks: true,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: 10,
              bindNavPrevention: true,
              postfix: "",
              imageUploader: {
              brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
              contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
              allowUrls: true
              },
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              });


              }
              });














              draft saved

              draft discarded


















              StackExchange.ready(
              function () {
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53432833%2fcant-access-a-propertu-in-a-json-object%23new-answer', 'question_page');
              }
              );

              Post as a guest















              Required, but never shown

























              3 Answers
              3






              active

              oldest

              votes








              3 Answers
              3






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes








              up vote
              0
              down vote













              You can use:



              var keys = Object.keys(obj.query.pages);


              To get array of properties defined in the pages object. Then you can basically do obj.query.pages[keys[i]] to access i-th item in the pages object, for example:



              obj.query.pages[keys[0]].extract


              Alternatively you can loop over the properties like this:



              for (var key in obj.query.pages) {
              if (obj.query.pages.hasOwnProperty(key)) {
              var item = obj.query.pages[key];
              //do something with item
              //item.extract...
              }
              }





              share|improve this answer



























                up vote
                0
                down vote













                You can use:



                var keys = Object.keys(obj.query.pages);


                To get array of properties defined in the pages object. Then you can basically do obj.query.pages[keys[i]] to access i-th item in the pages object, for example:



                obj.query.pages[keys[0]].extract


                Alternatively you can loop over the properties like this:



                for (var key in obj.query.pages) {
                if (obj.query.pages.hasOwnProperty(key)) {
                var item = obj.query.pages[key];
                //do something with item
                //item.extract...
                }
                }





                share|improve this answer

























                  up vote
                  0
                  down vote










                  up vote
                  0
                  down vote









                  You can use:



                  var keys = Object.keys(obj.query.pages);


                  To get array of properties defined in the pages object. Then you can basically do obj.query.pages[keys[i]] to access i-th item in the pages object, for example:



                  obj.query.pages[keys[0]].extract


                  Alternatively you can loop over the properties like this:



                  for (var key in obj.query.pages) {
                  if (obj.query.pages.hasOwnProperty(key)) {
                  var item = obj.query.pages[key];
                  //do something with item
                  //item.extract...
                  }
                  }





                  share|improve this answer














                  You can use:



                  var keys = Object.keys(obj.query.pages);


                  To get array of properties defined in the pages object. Then you can basically do obj.query.pages[keys[i]] to access i-th item in the pages object, for example:



                  obj.query.pages[keys[0]].extract


                  Alternatively you can loop over the properties like this:



                  for (var key in obj.query.pages) {
                  if (obj.query.pages.hasOwnProperty(key)) {
                  var item = obj.query.pages[key];
                  //do something with item
                  //item.extract...
                  }
                  }






                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited Nov 22 at 14:19

























                  answered Nov 22 at 14:13









                  Martin Zikmund

                  22.5k33158




                  22.5k33158
























                      up vote
                      0
                      down vote













                      Assuming the given JSON is a variable data



                      let uniqueID = Object.keys(data.query.pages)[0];
                      data.query.pages[uniqueID].extract


                      Will give you the desired result.






                      share|improve this answer

























                        up vote
                        0
                        down vote













                        Assuming the given JSON is a variable data



                        let uniqueID = Object.keys(data.query.pages)[0];
                        data.query.pages[uniqueID].extract


                        Will give you the desired result.






                        share|improve this answer























                          up vote
                          0
                          down vote










                          up vote
                          0
                          down vote









                          Assuming the given JSON is a variable data



                          let uniqueID = Object.keys(data.query.pages)[0];
                          data.query.pages[uniqueID].extract


                          Will give you the desired result.






                          share|improve this answer












                          Assuming the given JSON is a variable data



                          let uniqueID = Object.keys(data.query.pages)[0];
                          data.query.pages[uniqueID].extract


                          Will give you the desired result.







                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered Nov 22 at 14:23









                          saibbyweb

                          3831317




                          3831317






















                              up vote
                              0
                              down vote













                              If you just care about the 'extract' part, you can try this:



                              Object.values(obj.query.pages).map(item => item.extract)


                              To get a list of all the values






                              share|improve this answer























                              • i think, it will return an array.
                                – saibbyweb
                                Nov 22 at 14:29















                              up vote
                              0
                              down vote













                              If you just care about the 'extract' part, you can try this:



                              Object.values(obj.query.pages).map(item => item.extract)


                              To get a list of all the values






                              share|improve this answer























                              • i think, it will return an array.
                                – saibbyweb
                                Nov 22 at 14:29













                              up vote
                              0
                              down vote










                              up vote
                              0
                              down vote









                              If you just care about the 'extract' part, you can try this:



                              Object.values(obj.query.pages).map(item => item.extract)


                              To get a list of all the values






                              share|improve this answer














                              If you just care about the 'extract' part, you can try this:



                              Object.values(obj.query.pages).map(item => item.extract)


                              To get a list of all the values







                              share|improve this answer














                              share|improve this answer



                              share|improve this answer








                              edited Nov 22 at 14:27

























                              answered Nov 22 at 14:17









                              thedude

                              2,3771110




                              2,3771110












                              • i think, it will return an array.
                                – saibbyweb
                                Nov 22 at 14:29


















                              • i think, it will return an array.
                                – saibbyweb
                                Nov 22 at 14:29
















                              i think, it will return an array.
                              – saibbyweb
                              Nov 22 at 14:29




                              i think, it will return an array.
                              – saibbyweb
                              Nov 22 at 14:29


















                              draft saved

                              draft discarded




















































                              Thanks for contributing an answer to Stack Overflow!


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid



                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.


                              To learn more, see our tips on writing great answers.





                              Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


                              Please pay close attention to the following guidance:


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid



                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.


                              To learn more, see our tips on writing great answers.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function () {
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53432833%2fcant-access-a-propertu-in-a-json-object%23new-answer', 'question_page');
                              }
                              );

                              Post as a guest















                              Required, but never shown





















































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown

































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown







                              Popular posts from this blog

                              What visual should I use to simply compare current year value vs last year in Power BI desktop

                              How to ignore python UserWarning in pytest?

                              Alexandru Averescu