Ответ 1
Вам нужно сжать json, не вызывая toString
var buf = Buffer.from(JSON.stringify(obj));
И для преобразования строки в json obj:
var temp = JSON.parse(buf.toString());
У меня есть объект 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
Мне нужно просмотреть его как реальный объект, как я создал [я имею в виду, как указано выше].
Пожалуйста, помогите..
Вам нужно сжать json, не вызывая toString
var buf = Buffer.from(JSON.stringify(obj));
И для преобразования строки в json obj:
var temp = JSON.parse(buf.toString());