访问 GET 响应正文参数
Accessing GET response body parameters
我正在使用 request
包向 npm API 发出简单的 HTTP GET 请求。我试图从我的 nodeJS 后端中的任意函数获取 npm 包的下载计数。
这是我的 updateDownloadCount.ts 文件:
export function updateDownloads() {
plugin.find(function (err, plugins: Array<any>) {
for (let plugin of plugins) {
var url = 'https://api.npmjs.org/downloads/point/last-month/' + plugin.package;
request(url, function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body)
}
})
}
})
}
很好,我得到一串输出,如:
{"downloads":17627637,"start":"2016-08-29","end":"2016-09-27","package":"request"}
然而,当我尝试访问 downloads
计数时,即
console.log(body.downloads);
我得到 undefined
控制台记录...我如何访问正文变量?我觉得这应该超级简单,但我找不到任何文档。
如果正文是 string type
,请尝试解析正文
export function updateDownloads() {
plugin.find(function(err, plugins: Array < any > ) {
for (let plugin of plugins) {
var url = 'https://api.npmjs.org/downloads/point/last-month/' + plugin.package;
request(url, function(error, response, body) {
if (!error && response.statusCode == 200) {
if (body && typeof body == "string") {
body = JSON.parse(body);
}
console.log(body.downloads);
}
})
}
})
}
我正在使用 request
包向 npm API 发出简单的 HTTP GET 请求。我试图从我的 nodeJS 后端中的任意函数获取 npm 包的下载计数。
这是我的 updateDownloadCount.ts 文件:
export function updateDownloads() {
plugin.find(function (err, plugins: Array<any>) {
for (let plugin of plugins) {
var url = 'https://api.npmjs.org/downloads/point/last-month/' + plugin.package;
request(url, function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body)
}
})
}
})
}
很好,我得到一串输出,如:
{"downloads":17627637,"start":"2016-08-29","end":"2016-09-27","package":"request"}
然而,当我尝试访问 downloads
计数时,即
console.log(body.downloads);
我得到 undefined
控制台记录...我如何访问正文变量?我觉得这应该超级简单,但我找不到任何文档。
如果正文是 string type
export function updateDownloads() {
plugin.find(function(err, plugins: Array < any > ) {
for (let plugin of plugins) {
var url = 'https://api.npmjs.org/downloads/point/last-month/' + plugin.package;
request(url, function(error, response, body) {
if (!error && response.statusCode == 200) {
if (body && typeof body == "string") {
body = JSON.parse(body);
}
console.log(body.downloads);
}
})
}
})
}