2016-11-20 11 views
0

私は世界中の天気予報のAPIにアクセスしています。私がしたいAPIのURLを使用してjsonを受信する

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

:私は、URLを設定しているし、それが

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

注below-表示されます。私のAPIキーはXXXXXXXXXXXXとして表示され、これは次のように返しています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 –

関連する問題