Javascript Node.js请求模块未在正文中返回JSON

Javascript Node.js请求模块未在正文中返回JSON,javascript,json,node.js,Javascript,Json,Node.js,已解决:需要在request.get选项中设置编码:“utf8”。 我试图用请求模块加载一个JSON文件,但遇到了一个问题。代码如下: request.get({url: url_obj.url, json: true}, function(error, response, body) { if (error) { cb(error); } else { console.log(body.constructor); server_o

已解决:需要在request.get选项中设置编码:“utf8”。

我试图用请求模块加载一个JSON文件,但遇到了一个问题。代码如下:

request.get({url: url_obj.url, json: true}, function(error, response, body) {
    if (error) {
        cb(error);
    } else {
        console.log(body.constructor);
        server_obj[url_obj.server] = body;

        cb(null, server_obj);
    }
});
“body”作为字符串返回,尽管我指定它应该是json。很奇怪。如果我尝试JSON.parse(body),它会返回“意外标记”。JSLint告诉我,我的JSON是100%有效的

这里是json。它被编辑了一点(只是字符串位被更改以保留一些私有数据)


您请求的URL显然没有发送回有效的JSON。嘿,感谢您的快速响应。我已经通过另外两个验证器运行了JSON,但没有任何东西告诉我它是无效的。对不起,我误读了这个问题,认为它是无效的。我们能否准确地看到响应是什么,以及意外的标记是什么?您的响应似乎比您预期的要多。什么是
console.log(response.headers['content-type'])
show?console.log(response.headers['content-type']显示应用程序/json
{
    "build_info":  {
                       "build_version":  "v2.0.2.1",
                       "project_name":  "platformsc",
                       "jenkins_build_url":  "http://build03:8080/job/platformsc/1524/",
                       "git_commit_message":  "the last commit.",
                       "git_commit_id":  "c1b5dde6033977a8d183c7740ddad0f1f1589ce2",
                       "git_repo":  "git@gitlab.blahblahblah.lan:secrets/",
                       "git_commit_user":  "a developer",
                       "git_branch":  "name of branch"
                   }
}