npm 请求在执行 body.{object} 时没有得到 json 响应
npm request not getting json response when doing body.{object}
所以我正在请求 twitch 以使用 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(body) 时,它会将我的 json 对象返回到屏幕上。
{"_links":{"self":"https://api.twitch.tv/kraken/streams/allencoded","channel":"https://api.twitch.tv/kraken/channels/allencoded"},"stream":null}
所以我不想取回所有的东西,而是只取回自己 url。
然后我想我会做类似的事情:
res.send(body._links.self)
只返回一个空白屏幕。
如何只打印出自己url?
body
是一个字符串。您必须首先将其解析为 JSON:
res.json(JSON.parse(body)._links.self);
这个问题有点老了,但是,下面的问题似乎也更有帮助。在请求中,您可以传递 json: true
并请求库 returns 您 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) {
所以我正在请求 twitch 以使用 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(body) 时,它会将我的 json 对象返回到屏幕上。
{"_links":{"self":"https://api.twitch.tv/kraken/streams/allencoded","channel":"https://api.twitch.tv/kraken/channels/allencoded"},"stream":null}
所以我不想取回所有的东西,而是只取回自己 url。 然后我想我会做类似的事情:
res.send(body._links.self)
只返回一个空白屏幕。
如何只打印出自己url?
body
是一个字符串。您必须首先将其解析为 JSON:
res.json(JSON.parse(body)._links.self);
这个问题有点老了,但是,下面的问题似乎也更有帮助。在请求中,您可以传递 json: true
并请求库 returns 您 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) {