JSON.parse从JSON返回

我使用了一个叫做request的npm包来发起一个http请求到https://maps.googleapis.com/maps/api/geocode/json?address=Jur%C4%8Dkova+cesta+225&key=AIzaSyChkPdCaAaVZwYof8ZbKspokuYt41NlJ_0

现在我想parsing我收到的数据,以提取LAT / LONG并将其写入我的数据库。 但到目前为止,我得到的所有输出到控制台是:

 [ { address_components: [ [Object], [Object], [Object], [Object], [Object], [Object], [Object] ], formatted_address: 'Breznikova ulica 15, 1230 Domžale, Slovenia', geometry: { location: [Object], location_type: 'ROOFTOP', viewport: [Object] }, place_id: 'ChIJR2mtdUc0ZUcRv5nXK0zEx7M', types: [ 'street_address' ] }, { address_components: [ [Object], [Object], [Object], [Object], [Object], [Object], [Object] ], formatted_address: 'Breznikova ulica 15, 1000 Ljubljana, Slovenia', geometry: { location: [Object], location_type: 'ROOFTOP', viewport: [Object] }, place_id: 'ChIJ19Ax9OPMekcRoPvkJ6SKNEg', types: [ 'street_address' ] }, { address_components: [ [Object], [Object], [Object], [Object], [Object], [Object], [Object] ], formatted_address: 'Breznikova ulica 15, 2000 Maribor, Slovenia', geometry: { location: [Object], location_type: 'ROOFTOP', viewport: [Object] }, place_id: 'ChIJDUicXFd2b0cRYrf99vgTPBs', types: [ 'street_address' ] } ] 

这里是我的代码,从我的server.js文件产生这个提取:

 //get lat and long before saving from gmaps API //build gmaps API URL var urlAddress = shop.address.replace(/ /gi, '+'); var urlAPIKey = '&key=AIzaSyChkPdCaAaVZwYof8ZbKspokuYt41NlJ_0'; var url = 'https://maps.googleapis.com/maps/api/geocode/json?address='; url = url.concat(urlAddress).concat(urlAPIKey); //make a request request({ uri: url, method:"GET", timeout: 100000 }, function(error, response, body) { var gmaps = JSON.parse(body); console.log(gmaps.results); }); 

如果任何人都可以指出我做错了什么,这将是伟大的。 如果我试图输出对象,它只是返回undefined。

为什么它显示为[Object]是为了可读性,如果要显示结果的完整转储,则必须先通过JSON.stringify传递它。

至于访问address_components,结果是一个数组,因此您必须访问它们以获取该数组的特定元素(例如gmaps.results[0].address_components