2017-01-31 4 views
20

Ich habe ein JSON-Objekt und ich wandle es in einen Puffer um und mache einen Prozess hier. Später möchte ich die gleichen Pufferdaten konvertieren, um sie in ein gültiges JSON-Objekt umzuwandeln.Konvertiere ein JSON-Objekt in einen Puffer und einen Puffer in ein JSON-Objekt zurück

Ich arbeite an Knoten V6.9.1

unterhalb der Code habe ich versucht, aber ich bin immer [object object], wenn ich zu JSON konvertieren zurück und können dieses Objekt nicht öffnen.

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] 

Also habe ich versucht, inspizieren Weise unter Verwendung von ganzen Objekt zu drucken

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

Wenn ich versuche, es wie ein Array zu lesen

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

Ich habe versucht, das Parsen es werfen auch SyntaxError: Unexpected token o in JSON at position 2

Ich muss es als echtes Objekt sehen, wie ich es geschaffen habe [ich meine wie oben erklärt].

Bitte helfen ..

Antwort

37

Sie müssen die json stringify, nicht toString Aufruf

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

Und Zeichenfolge für die Umwandlung von obj JSon:

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

funktioniert perfekt :) –

+1

nicht brauchen das 'neue' – jpillora

Verwandte Themen