Search code examples
javascriptjsonnode.jstraversal

Extract data from nested JSON Node JS


I need to extract the text value of Distance and Duration but unfortunately i haven't been able to traverse the JSON. Any ideas about how to traverse the nodes in Node JS the simplest way possible ?

     {
   "destination_addresses" : [ "Chennai, Tamil Nadu, India" ],
   "origin_addresses" : [ "Kolkata, West Bengal, India" ],
   "rows" : [
      {
         "elements" : [
            {
               "distance" : {
                  "text" : "1,671 km",
                  "value" : 1671269
               },
               "duration" : {
                  "text" : "1 day 5 hours",
                  "value" : 104370
               },
               "status" : "OK"
            }
         ]
      }
   ],
   "status" : "OK"
} 

Solution

  • assuming that your JSON is object named data

    var data =     {
       "destination_addresses" : [ "Chennai, Tamil Nadu, India" ],
       "origin_addresses" : [ "Kolkata, West Bengal, India" ],
       "rows" : [
          {
             "elements" : [
                {
                   "distance" : {
                      "text" : "1,671 km",
                      "value" : 1671269
                   },
                   "duration" : {
                      "text" : "1 day 5 hours",
                      "value" : 104370
                   },
                   "status" : "OK"
                }
             ]
          }
       ],
       "status" : "OK"
    } 
    

    You would access distance element like this

    data.rows[0].elements[0].distance