API正在返回function

我正在尝试从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”。

你得到的回应是JSONP 。 通常一个API将提供JSON和JSONPconfiguration参数。 然而,既然你问我这里,我会假设你无法控制这个请求(也许给API作者一个礼貌的消息可能会有所帮助)。

您可以提供响应中使用的名称空间,并评估响应。 但是既然这是Node而不是浏览器,那么这个想法就是愚蠢的。 我会build议,而不是手动操纵响应到JSON:

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