gpt4 book ai didi

javascript - NodeJS从缓冲区解码字符串返回多行字符串

转载 作者:太空宇宙 更新时间:2023-11-04 03:07:45 24 4
gpt4 key购买 nike

我有一个缓冲区,我想对其进行解码,以便我可以将其视为一个对象。

我有以下设置

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 返回 - 请注意它是如何在多行上显示的。

{"aaa":true,"bbb":true, "cc
c":true, "ddd":true, "eee":true, "f
ff":true, "ggg":true}

所以当我尝试将其转换为对象时

JSON.parse(textChunk) 

我得到输入意外结束

如何将字符串作为一行返回,以便我可以将其视为一个对象。

{"aaa":true,"bbb":true, "ccc":true, "ddd":true, "eee":true, "fff":true, "ggg":true}

最佳答案

您需要创建一个字符串变量来连接所有 block ,然后在最后使用您的解码器。像这样的事情:

var text = '';

res.on('data', function(chunk) {
text += chunk;
});

res.on('end', function() {
var decoder = new StringDecoder('utf8');
var result = decoder.write(text);
// Do something with the result
});

关于javascript - NodeJS从缓冲区解码字符串返回多行字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34566798/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com