2016-11-20 60 views
0

我正在訪問世界天氣在線api。我已經配置了網址,並顯示如下─使用API​​的URL接收json

http://api.worldweatheronline.com/premium/v1/marine.ashx?key=XXXXXXXXXXXXXXXX&q=-34.48,150.92&format=json

注:我的API密鑰顯示爲XXXXXXXXXXXX,這將返回以下內容:

{ 
    "data": { 
    "request": [], 
    "weather": [ 
    { 
     "date": "2016-11-20", 
     "astronomy": [], 
     "maxtempC": "27", 
     "maxtempF": "80", 
     "mintempC": "15", 
     "mintempF": "58", 
     "hourly": [ 
     { 
     "time": "0", 
     "tempC": "15", 
    ... 

我想在JS中獲取這個json,然後記錄TempC的值。

這怎麼辦?

+0

var r = JSON.parse(「your json」); console.log(r.data.weather [0] .hourly [0] .tempC); – Ali7091

回答

2

最簡單的方法是使用請求。你可以安裝它npm install request

const request = require('request') 
const apiKey = 'XXXXXXXX' 

let url = 'http://api.worldweatheronline.com/premium/v1/marine.ashx' 
let qs = { 
    q: '-34.48,150.92', 
    format: 'json', 
    key: apiKey 
} 
request({ url, qs }, (err, response, body) => { 
    if (err) 
    return console.error(err) 
    if (response.statusCode != 200) 
    return console.error('status:', response.statusCode, body) 
    body = JSON.parse(body) 
    console.log(body.data.weather[0].hourly[0].tempC) 
}) 
+0

嗨@朱連,我喜歡你的答案,雖然,當我運行的代碼,我只收到文本「狀態代碼是400」,就是它(沒有溫度)。你知道爲什麼這是 –

+0

關鍵參數被稱爲apiKey :) – Julian

+0

謝謝你,你的驚人@ Julian –