我有一个 JSON 对象,正在将其转换为 Buffer
并在此处进行一些处理。稍后,我想将相同的缓冲区数据转换为有效的 JSON 对象。
我正在使用 Node V6.9.1 进行开发。
以下是我尝试的代码,但是当我将其转换回 JSON 并且不能打开此对象时,我会得到[object object]
。
var obj = {
key:'value',
key:'value',
key:'value',
key:'value',
key:'value'
}
var buf = new Buffer.from(obj.toString());
console.log('Real Buffer ' + buf); //This prints --> Real Buffer <Buffer 5b 6f 62 6a 65 63 74>
var temp = buf.toString();
console.log('Buffer to String ' + buf); //This prints --> Buffer to String [object Object]
所以我尝试使用inspect方法打印整个对象
console.log('Full temp ' + require('util').inspect(buf, { depth: null })); //This prints --> '[object object]' [not printing the obj like declared above]
如果我尝试像读取数组一样读取它
console.log(buf[0]); // This prints --> [
我尝试解析,但出现了SyntaxError: Unexpected token o in JSON at position 2
我需要将其视为真正的对象,就像我之前创建的一样(我的意思是像之前声明的那样)。
请帮忙解决..
({"id":"value"}).toString() === '[object Object]' //true
- Eric Hodonskynew Buffer()
已被弃用。请参见此处:https://nodejs.org/api/buffer.html#buffer_new_buffer_array - Spencer