web-dev-qa-db-fra.com

Convertir un objet JSON en tampon et un tampon en objet JSON

J'ai un objet JSON et je le convertis en tampon et effectue un processus ici. Plus tard, je veux convertir les mêmes données de tampon pour les convertir en objet JSON valide.

Je travaille sur Node V6.9.1

Vous trouverez ci-dessous le code que j'ai essayé mais je reçois [object object] lorsque je reconvertis en JSON et que je ne peux pas ouvrir cet objet.

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]

J'ai donc essayé d'imprimer un objet entier en utilisant la méthode inspect

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

Si j'essaie de le lire comme un tableau

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

J'ai essayé d'analyser aussi il jette SyntaxError: Unexpected token o in JSON at position 2

J'ai besoin de le voir comme un objet réel comme j'ai créé [je veux dire comme déclaré ci-dessus].

S'il vous plaît aider ..

63
Prasanth J

Vous devez stringifier le json sans appeler toString

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

Et pour convertir une chaîne en json obj:

var temp = JSON.parse(buf.toString());
121
Ebrahim Pasbani