【发布时间】:2016-04-06 15:04:38
【问题描述】:
我有一个要解码的缓冲区,以便我可以将其视为一个对象。
我有以下设置
var StringDecoder = require('string_decoder').StringDecoder;
var req = http.request(reqOptions, function(res) {
...
var decoder = new StringDecoder('utf8');
res.on('data', function(chunk) {
var textChunk = decoder.write(chunk);
console.log(textChunk);
});
});
textChunk returns - 注意这是多行的。
{"aaa":true,"bbb":true, "cc
c":true, "ddd":true, "eee":true, "f
ff":true, "ggg":true}
所以当我尝试将其转换为对象时
JSON.parse(textChunk)
我收到Unexpected end of input
如何将我的字符串作为一行返回,以便我可以将其视为一个对象。
{"aaa":true,"bbb":true, "ccc":true, "ddd":true, "eee":true, "fff":true, "ggg":true}
【问题讨论】:
-
@ShanShan 有一个很好的答案。为什么 textChunk 以多行开头?您是否将其与 EOL 字符一起存储在 Firebase 中?
-
RTFM的经典案例,因为是多个
console.log()... -
@ShanShan 我的问题是在多行上显示块是否是有意作为存储在缓冲区中的原始数据的表示。
标签: javascript json node.js firebase buffer