将JSON对象转换为缓冲区并缓冲到JSON对象

我有一个JSON对象,我把它转换成一个缓冲区,并在这里做一些过程。 后来我想转换相同的缓冲区数据转换为有效的JSON对象。

我正在使用Node V6.9.1

下面是我尝试的代码,但我得到[object object]当我转换回JSON,无法打开这个对象。

 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] 

所以我试图用检查的方式打印整个对象

 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 --> [ 

我试过parsing也扔在SyntaxError: Unexpected token o in JSON at position 2

我需要把它看作是像我创build的真实对象[我的意思是像上面声明的]。

请帮忙..

你需要对json进行string化,而不是调用toString

 var buf = new Buffer.from(JSON.stringify(obj)); 

并将string转换为json obj:

 var temp = JSON.parse(buf.toString());