使用API​​的URL来接收json

时间:2016-11-20 11:39:45

标签: json node.js

我正在网上访问世界天气的api。我已经配置了网址,它显示在下面 -

  

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的值。

如何做到这一点?

1 个答案:

答案 0 :(得分: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)
})