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

Convert buffer to readable string javascript

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

然而,尽管使用了所有技术(JSON.stringify()toString('utf8'),我还是无法完成它。

这是我目前的情况:

这是它给我的:

我怎样才能把它变成可读的东西?

您的代码正在运行。您拥有的缓冲区实际上是字符串 "[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()

尝试

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

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