节点Js json提取

时间:2016-01-13 11:08:36

标签: json node.js

我正在获取一些fitbit数据并使用oauth2进程,以便我也可以获得对朋友数据的授权访问权限。 我的代码示例正在为授权工作,但我想获得的不仅仅是活动数据中的“步骤”。 我以为我应该能够以fitbit开发网站上显示的json格式获取活动。然后可能将它泵入数据库但这将是下一个任务。 我遇到一些困难的代码是:

app.get('/stats', function(req, res) {
client = new Fitbit("myid",
        "mykey", { // Now set with access
            // tokens
            accessToken : req.session.oauth.accessToken,
            accessTokenSecret : req.session.oauth.accessTokenSecret,
            unitMeasure : 'en_GB'
        });

// Fetch activities
client.getActivities(function(err, activities) {
    if (err) {
        // Take action
        console.log("at get activities");
        return;
    }

    res.send('Steps: ' + activities.steps());
    //res.json(activities());
});

});

以上代码重定向回网页http://myweburl/stats并显示步骤和值,但是如果我可以将其作为更适合的json文件返回。 我看到一些信息,res.json可能是我需要的,但这不起作用。 提前致谢。 Binway

2 个答案:

答案 0 :(得分:0)

尝试在响应中使用以下代码:

JSON.stringify({ steps : activities.steps()}, null, '\t');

答案 1 :(得分:0)

这是因为你发送字符串而不是JSON。

尝试这样的事情:

client.getActivities(function(err, activities) {
  if (err) {
    // Take action
    console.log("at get activities");
    return;
  }
  let response = JSON.stringify({ steps: activities() })

  res.json(response);
});