首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSONStream不工作的基本测试

JSONStream不工作的基本测试
EN

Stack Overflow用户
提问于 2013-10-17 17:04:03
回答 1查看 1.5K关注 0票数 1

我正在查看JSONStream中的node.js,我正在尝试下面这个小应用程序来获得它的句柄:

代码语言:javascript
复制
var JSONStream = require('JSONStream');
var Stream = require('stream');

var s = new Stream();
s.pipe = function(dest) {
  dest.write('{"foo":1}');
  return dest;
};

var parser = JSONStream.parse(/foo/);
s.pipe(parser).pipe(process.stdout);

不幸的是,当在命令行上运行时,这不会将任何东西写入控制台。我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-17 20:36:29

如果您重写代码,它就会工作:

代码语言:javascript
复制
var JSONStream = require('JSONStream');
var Stream = require('stream');

var s = new Stream();
s.pipe = function(dest) {
  dest.write('{"foo":1}');
  return dest;
};

var parser = JSONStream.parse();
parser.on('data', function(obj) {
  console.log('obj', obj);
});
s.pipe(parser);

不能将JSONStream.parse()的输出输送到process.stdout的原因是JSONStream输出对象,而process.stdout只接受字符串(可能还包括缓冲区):

代码语言:javascript
复制
> process.stdout.write({ foo : 1 });
TypeError: invalid data
    at WriteStream.Socket.write (net.js:612:11)
    ...
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19432968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档