Преобразование объекта 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 --> [ 

Я попробовал разбор и бросить SyntaxError: Unexpected token o in JSON at position 2

Мне нужно просмотреть его как реальный объект, как я создал [я имею в виду, как указано выше].

Пожалуйста, помогите..

Ответы

Ответ 1

Вам нужно сжать json, не вызывая toString

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

И для преобразования строки в json obj:

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