Convertissez un objet JSON en Buffer et Buffer en objet JSON retour

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

je travaille sur le noeud V6.9.1

ci-dessous est le code que j'ai essayé mais je reçois [object object] quand je retourne à 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]

alors j'ai essayé d'imprimer l'objet entier en utilisant inspect way

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

je dois le voir comme un objet réel comme je l'ai créé [je veux dire comme déclaré ci-dessus].

s'il vous Plaît aider..

34
demandé sur Prasanth J 2017-01-31 09:50:13

1 réponses

Vous devez stringify le json, pas d'appel toString

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

et pour convertir la chaîne en JSON obj:

var temp = JSON.parse(buf.toString());
67
répondu Ebrahim Pasbani 2017-12-14 20:22:27