Nodejs从http请求块读取JSON数据

Nodejs从http请求块读取JSON数据,json,node.js,rest,Json,Node.js,Rest,我正在使用Jira API获取单张票的数据。我已经成功地向服务器设置了http GET请求,并且可以向控制台显示数据,但是理想情况下,我需要从JSON格式的数据中获取某些属性 当我试图读取属性时,我只是没有定义 var req = http.request(options, function(res) { console.log('STATUS: ' + res.statusCode); console.log('HEADERS: ' + JSON.stringify(res.headers))

我正在使用Jira API获取单张票的数据。我已经成功地向服务器设置了http GET请求,并且可以向控制台显示数据,但是理想情况下,我需要从JSON格式的数据中获取某些属性

当我试图读取属性时,我只是没有定义

var req = http.request(options, function(res) {
console.log('STATUS: ' + res.statusCode);
console.log('HEADERS: ' + JSON.stringify(res.headers));
res.setEncoding('utf8');
res.on('data', function (chunk) {
    console.log('BODY: ' + chunk);         // This displays the JSON
    console.log('endSTATUS: ' + chunk.id); // This shows up undefined
});    
数据格式来自jira API,仅供参考。 res中的第一个控制台日志成功显示了区块中的所有数据。 第二个是:

endSTATUS: undefined

确保将响应数据解析为JSON。我认为您可能需要类似于
var data=JSON.parse(chunk)的东西,并将区块数据引用为
data.value

res.on('data', function (chunk) {
var data = JSON.parse(chunk);
console.log('BODY: ' + data);         
console.log('endSTATUS: ' + data.id); 
});

尝试在数据流完成后获取正文。像这样:

        var body = '';
        response.on('data', function(d) {
            body += d;
        });
        response.on('end', function() {

            // Data reception is done, do whatever with it!
            var parsed = JSON.parse(body);
            console.log('endSTATUS: ' + parsed.id);
        });

很好,很有效,在文档中找不到关于块的任何内容,谢谢!总是发生在我身上,快乐编码!