【问题标题】:Get key value pair from API call with Express and Request module使用 Express 和 Request 模块从 API 调用中获取键值对
【发布时间】:2017-02-05 12:14:30
【问题描述】:

我可以使用请求模块查询时间表 API 并返回完整的 JSON 响应。我的最终目标是使用 pug 渲染时间。

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)

【问题讨论】:

    标签: json node.js express pug


    【解决方案1】:

    你可以这样做:

    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
    

    【讨论】:

    • 效果很好。因此,如果我正确理解这一点,body 将从 request 函数返回。然后我们对其进行 JSON.parse 分析,这样我们就可以像在诸如 insomnia 这样的休息客户端中那样单步执行它?
    • @m15m15m15,当然,就是这样。
    猜你喜欢
    • 1970-01-01
    • 2014-03-15
    • 1970-01-01
    • 2017-01-11
    • 2018-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多