2017-01-31 13 views
20

Mam obiekt JSON i konwertuję go do bufora i robię tutaj pewien proces. Później chcę przekonwertować te same dane bufora, aby przekonwertować na prawidłowy obiekt JSON.Konwertuj obiekt JSON na bufor i bufor na obiekt JSON z powrotem

pracuję nad V6.9.1 Node

Poniżej znajduje się kod próbowałem, ale jestem coraz [object object] kiedy przekonwertować z powrotem do formatu JSON i nie może otworzyć tego obiektu.

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] 

więc próbowałem wydrukować cały obiekt użyciem skontrolować drogę

console.log('Full temp ' + require('util').inspect(buf, { depth: null })); //This prints --> '[object object]' [not printing the obj like declared above] 

jeśli staram się czytać jak tablicy

console.log(buf[0]); // This prints --> [ 

Próbowałem parsowania również rzucać SyntaxError: Unexpected token o in JSON at position 2

Muszę zobaczyć go jako prawdziwy obiekt, taki jaki stworzyłem [mam na myśli deklarację powyżej].

Proszę o pomoc ..

Odpowiedz

37

Trzeba stringify JSON, nie nazywając toString

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

A do przekształcania ciąg JSON OBJ:

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

działa idealnie :) –

+1

nie potrzebują "nowy" – jpillora