所以我正在请求使用npm响应来抽取一些流数据。
var express = require('express');
var router = express.Router();
var request = require('request');
/* GET users listing. */
router.get('/streams/:user', function(req, res, next) {
request('https://api.twitch.tv/kraken/streams/' + req.params.user, function ( error, response, body) {
if (!error && response.statusCode == 200)
{
res.send(body);
}
else
{
res.send(404);
}
});
});
module.exports = router;
当我执行res.send(正文)时,它会让我回复打印到屏幕上的json对象。
{"_links":{"self":"https://api.twitch.tv/kraken/streams/allencoded","channel":"https://api.twitch.tv/kraken/channels/allencoded"},"stream":null}
所以我想不要把所有这些都归还,而只是得到自我的网址。 然后我想我会做类似的事情:
res.send(body._links.self)
除了空白屏幕外什么都没有。
如何打印出自我网址?
答案 0 :(得分:10)
body
是一个字符串。您必须首先将其解析为JSON:
res.json(JSON.parse(body)._links.self);
答案 1 :(得分:6)
这个问题有点旧,但以下似乎也更有帮助。在请求中,您可以传递json: true
并请求库返回json对象。
替换以下行
request('https://api.twitch.tv/kraken/streams/' + req.params.user, function ( error, response, body) {
下面的那个
request({'url':`https://api.twitch.tv/kraken/streams/${req.params.user}`, 'json': true }, function ( error, response, body) {