将缓冲区转换为可读字符串javascript

时间:2019-03-08 08:09:43

标签: javascript node.js protocol-buffers decoding

我收到一个JSON作为缓冲区。我想将其解析为可读或JSON对象。

但是,尽管有各种技巧(JSON.stringify()toString('utf8'),我还是无法完成。

这是我到目前为止所拥有的:

enter image description here

这就是给我的东西:

enter image description here

如何将其转换为可读的内容?

2 个答案:

答案 0 :(得分:2)

您的代码正在运行。您拥有的缓冲区实际上是字符串"[object Object]"

let b = Buffer.from('[object Object]', 'utf8')
console.log(JSON.stringify(b))
// {"type":"Buffer","data":[91,111,98,106,101,99,116,32,79,98,106,101,99,116,93]}

console.log(b.toString('utf8'))
// [Object object]

您需要弄清的问题是为什么要发送带有该字符串的缓冲区。缓冲区的发送者似乎需要在发送对象之前调用stringify或以其他方式序列化该对象。然后,您可以使用toString()将其转换为字符串,并在字符串上使用JSON.parse()

答案 1 :(得分:1)

尝试

console.log(Buffer.from(val).toString());

这会将[object Object]转换为字符串

相关问题