通过Express和Request模块从API调用获取键值对

时间:2017-02-05 12:14:31

标签: json node.js express pug

我能够使用请求模块查询时间表API并返回完整的JSON响应。我的最终目标是使用哈巴狗来渲染时间。

var express = require('express');
var router = express.Router();
var request = require('request');

/* GET home page. */
router.get('/', function(req, res, next) {
  res.render('index', { title: 'Salah' });
});

/* GET time page. */
router.get('/time', function(req, res, next) {
  var test = request({
    url: 'http://api.aladhan.com/timingsByCity',
    qs: {
      school: '1',
      country: 'uk',
      city: 'london'
    }
  }).timings.Sunrise.pipe(res);
  // }).pipe(res);
});

module.exports = router;

我当前的路线localhost:3000/time呈现the same as this。我希望只返回一些具体时间,但我使用.timings.Sunrise.pipe(res)没有运气

1 个答案:

答案 0 :(得分:0)

您可以执行以下操作:

router.get('/time', function(req, res) {
  request({
    url: 'http://api.aladhan.com/timingsByCity',
    qs: {
      school: '1',
      country: 'uk',
      city: 'london'
    }
  }, function(error, request, body) {
    var info = JSON.parse(body);
    res.render('showTimings', { timings: info.data.timings });
  });
});

showTimings.pug

ul
 for val, key in timings
   li= key + ': ' + val