parsingstream在Nodejs中的对象

我正在尝试 Node.Js中的Amazon S3存储获取对象。

当我将它保存到一个文件时 ,这完美的工作。

amazon.getObject = function () { var options = { BucketName : 'mybucket', ObjectName : 'path/to/my.json', ResponseContentType : 'application/json' }; s3.GetObject(options, function(err, data) { var fs = require('fs'); var fd = fs.openSync('helloaa.json', 'w+'); fs.writeSync(fd, data.Body, 0, data.Body.length, 0); fs.closeSync(fd); }); }; 

在。 helloaa.json是:

 { "hello": 1, "world": 3 } 

但。 我不想将数据写入磁盘上的文件。

我想parsing这个JSON来对象与JSON.parse();

当我在那里打印对象时:

  s3.GetObject(options, function(err, data) { console.log(JSON.stringify(data)); }); 

在控制台中是这样的:

 {"StatusCode":200,"Headers":{"x-amz-id-2":"N1gDLPam+fDCLWd9Q2NI62hizH7eXAjg 61oLYOkanLoSlqUlDl6tqasbfdQXZ","x-amz-request-id":"C53957DAF635D3FD","date" :"Mon, 31 Dec 2012 00:11:48 GMT","last-modified":"Sun, 30 Dec 2012 23:22:57 "etag":"\"8677a54c9b693bb6fc040ede8cc6a\"","accept-ranges":"bytes","co ntent-type":"application/json","content-length":"176","server":"AmazonS3"}, "Body":{"0":123,"1":10,"2":32,"3":32,"4":32,"5":32,"6":34,"7":105,"8":100," 9":34,"10":58,"11":32,"12":49,"13":44,"14":10,"15":32,"16":32,"17":32,"18": 

它是什么?

我如何parsing它?

它是stream?

我可以将stream保存到NodeJs中的对象吗?

你有没有尝试过data.Body.toString()

转换为string后,我不得不parsingJSON:

  var fileContents = data.Body.toString(); var json = JSON.parse(fileContents); console.log(json);