2017-01-31 22 views
20

私はJSONオブジェクトを持っています。私はこれをバッファに変換して、ここで何らかの処理をしています。後で有効なJSONオブジェクトに変換するために同じバッファデータを変換したいと思います。JSONオブジェクトをバッファに変換し、バッファをJSONに変換するオブジェクトバック

私は、ノードのV6.9.1以下

に私が試したコードをされて働いているが、私はJSONに戻って変換し、このオブジェクトを開くことができないとき、私は[object object]を取得しています。

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] 

だから、私は私はそれがSyntaxError: Unexpected token o in JSON at position 2

を投げるも解析してみましたアレー

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

のようにそれを読んしようとした場合の方法

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

検査使ってオブジェクト全体を印刷しようとしました

私は[上記のように宣言したように]作成したように、実際のオブジェクトとして表示する必要があります。

助けてください..

答えて

37

あなたは

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

toStringを呼び出していない、JSONを文字列化する必要があり、文字列を変換するためのOBJをJSONに:

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

作品完璧:) –

+1

必要性をいけません「新」 – jpillora

関連する問題