177 votes

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

J'ai un objet JSON et je suis le convertir en un Tampon de faire et de certains processus ici. Plus tard je veux convertir le même tampon de données à convertir pour JSON valide de l'objet.

Je suis en train de travailler sur le Nœud V6.9.1

Ci-dessous le code que j'ai essayé, mais je reçois [object object] quand je reconvertir en JSON et ne peut 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 l'ensemble de l'objet à l'aide d'inspecter façon

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'analyse aussi jeter SyntaxError: Unexpected token o in JSON at position 2

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

S'il vous plaît aider..

332voto

Ebrahim Pasbani Points 5174

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());
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X