API正在返回功能

时间:2014-04-27 00:54:08

标签: javascript node.js api

我正在尝试从node.js中的API获得分数,并且我得到一个看起来像函数的响应。我不确定如何从这个函数中获取JSON数据。

var req = http.request(options, function(res){
    res.setEncoding('utf8');
    res.on('data', function(data){
        console.log(data);
    });
});

回应是......

shsMSNBCTicker.loadGamesData({
"sport": "NBA", 
"period": "20140426", 
"games": [""]
});

在“游戏”中是一堆数据,但这并不重要,会占用太多空间。对于这个例子,我只想说我想要“运动”;这会回归“NBA”。

1 个答案:

答案 0 :(得分:2)

您获得的回复是JSONP。通常,API将提供可配置参数的JSON和JSONP。但是,既然你在这里问我,我会假设你无法控制请求(也许对API作者的礼貌信息可能会有所帮助)。

您可以提供响应中使用的命名空间并评估响应。但由于这是Node而不是浏览器,因此这个想法充其量只是愚蠢的。相反,我建议手动将响应操作为JSON:

JSON.parse(response.replace(/^[^\(]*\(/, '').replace(/\);$/, ''));