我如何向json api发出请求并从中获取字段?

时间:2017-06-25 00:20:24

标签: json node.js express request

const express = require('express');
const req = require('request')

var app = express();
var port = process.env.PORT || 80;

var server = app.listen(port, () => {
    console.log('Server listening on ' + port);
});

app.route('/rap').get((request, result) => {
    if(!request.query.u) { result.send("Please provide a user!"); return 0}
    req("https://rbx.rocks/apis/user_items?u="+request.query.u, function(error, response, body) {
        var jsonbody = JSON.parse(body)
        result.send(jsonbody.stats.RAP)
    })
});

上面的代码告诉我jsonbody.stats不存在但是当我打印jsonbody时它清楚地表明统计数据确实存在

1 个答案:

答案 0 :(得分:1)

此API看起来非常奇怪。它似乎返回包含单个字符串的JSON。该字符串又是一个JSON对象。因此,您需要首先解析主体,然后解析它包含的字符串。

尝试一下:

var jsonbody = JSON.parse(JSON.parse(body));
result.send(jsonbody.stats.RAP);