在Node.js中可以使用request模組來發送請求。
使用request模組前要先從npm下載至專案。
下面範例在node.js中利用request模組發送Google Maps Geocoding API的請求,結果回傳json物件,範例如下
const request = require('request'); // 載入request模組
request({
url:'https://maps.googleapis.com/maps/api/geocode/json?address=100%E5%8F%B0%E5%8C%97%E5%B8%82%E4%B8%AD%E6%AD%A3%E5%8D%80%E9%87%8D%E6%85%B6%E5%8D%97%E8%B7%AF%E4%B8%80%E6%AE%B5122%E8%99%9F', //Google Maps Geocoding API url 總統府地址
json: true
}, (error, response, body) => {
console.log(JSON.stringify(body, undefined, 2)); // body是回傳的json物件,使用JSON.stringify()轉為json字串
});
回傳的json物件使用JSON.stringify()
轉為json字串如下。
{
results: [{
address_components: [{
long_name: "122",
short_name: "122",
types: ["street_number"]
},
{
long_name: "重慶南路一段",
short_name: "重慶南路一段",
types: ["route"]
},
{
long_name: "中正區",
short_name: "中正區",
types: ["administrative_area_level_3",
"political"]
},
{
long_name: "台北市",
short_name: "台北市",
types: ["administrative_area_level_1",
"political"]
},
{
long_name: "台灣",
short_name: "TW",
types: ["country",
"political"]
},
{
long_name: "100",
short_name: "100",
types: ["postal_code"]
}],
formatted_address: "100台灣台北市中正區重慶南路一段122號",
geometry: {
bounds: {
northeast: {
lat: 25.0406827,
lng: 121.5125104
},
southwest: {
lat: 25.038997,
lng: 121.5113206
}
},
location: {
lat: 25.0398398,
lng: 121.5119155
},
location_type: "ROOFTOP",
viewport: {
northeast: {
lat: 25.0411888302915,
lng: 121.5132644802915
},
southwest: {
lat: 25.0384908697085,
lng: 121.5105665197085
}
}
},
place_id: "ChIJ8VoOhwqpQjQRwdEJIkQaDhg",
types: ["premise"]
}],
status: "OK"
}
沒有留言:
張貼留言