Javascript Node.js Stream-字符串缓冲区提供[object]

Javascript Node.js Stream-字符串缓冲区提供[object],javascript,node.js,stream,Javascript,Node.js,Stream,我希望能够过滤输出。但是,我在从缓冲区转换为字符串时遇到了一个问题console.log(JSON.stringify(obj.toString())一直给我[object object]我不能用。如何将缓冲区转换为字符串,以便将内容过滤到标准输出 //inject 'bower and javascript' files or just 'javascript' files function injectStream(sourceStream, filesStream) { sourc

我希望能够过滤输出。但是,我在从缓冲区转换为字符串时遇到了一个问题<代码>console.log(JSON.stringify(obj.toString())一直给我
[object object]
我不能用。如何将缓冲区转换为字符串,以便将内容过滤到标准输出

//inject 'bower and javascript' files or just 'javascript' files
function injectStream(sourceStream, filesStream) {
    sourceStream
        .pipe(injector(filesStream, { ignorePath: 'app', addRootSlash: false }))
        .pipe(gulp.dest(INDEX_PATH_PARENT))
        .pipe(through2.obj(function(obj, enc, next) {
            console.log(JSON.stringify(obj.toString()));
            this.push(obj.contents);
            next();
    })).pipe(process.stdout)
}

through2.obj
生成对象流(或对象模式下的流)。通过对象流的是对象流,而不是缓冲区。您得到的不是缓冲区,而是对象
obj
。这就是为什么它的
toString
方法给出
[object]
。也许您要查找的是
obj.contents

奇怪的是
console.log(obj.contents)
给了我
并在缓冲区上调用
toString
console.log(obj.contents.toString())工作。然而,它一下子给了我全部内容。我希望逐行进行,因为我认为它是使用
next()
进行迭代的。您应该知道一些使用节点流的方法。还有substack的介绍。可能是对象本身的属性和从原型继承的属性之间有一个ditinction。查看
obj.prototype
obj.\uuuu proto\uuuu