Maxim Yefremov
Maxim Yefremov

Reputation: 14185

object property undefined but I see it is not

I printed object body in console and see that it has property "results", but when I try to print body.results I got undefined:

body.results
undefined

body is json object from google geocoder :

body
"{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "ulitsa Solnechnaya",
               "short_name" : "ul. Solnechnaya",
               "types" : [ "route" ]
            },
            {
               "long_name" : "Langepas",
               "short_name" : "Langepas",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "gorod Langepas",
               "short_name" : "g. Langepas",
               "types" : [ "administrative_area_level_2", "political" ]
            },
            {
               "long_name" : "Khanty-Mansi Autonomous Okrug",
               "short_name" : "Khanty-Mansi Autonomous Okrug",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "Russia",
               "short_name" : "RU",
               "types" : [ "country", "political" ]
            }
         ],
         "formatted_address" : "ulitsa Solnechnaya, Langepas, Khanty-Mansi Autonomous Okrug, Russia",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : 61.2641430,
                  "lng" : 75.20092810
               },
               "southwest" : {
                  "lat" : 61.24910500000001,
                  "lng" : 75.16912719999999
               }
            },
            "location" : {
               "lat" : 61.256440,
               "lng" : 75.18677180
            },
            "location_type" : "GEOMETRIC_CENTER",
            "viewport" : {
               "northeast" : {
                  "lat" : 61.2641430,
                  "lng" : 75.20092810
               },
               "southwest" : {
                  "lat" : 61.24910500000001,
                  "lng" : 75.16912719999999
               }
            }
         },
         "partial_match" : true,
         "types" : [ "route" ]
      }
   ],
   "status" : "OK"
}

I want to get: var loc = body.results[0].geometry.location.

Upvotes: 0

Views: 58

Answers (1)

Maxim Yefremov
Maxim Yefremov

Reputation: 14185

JSON.parse is what I need

var loc = (JSON.parse(body)).results[0].geometry.location

Upvotes: 1

Related Questions