2017-01-31 11 views
20

मेरे पास एक JSON ऑब्जेक्ट है और मैं इसे एक बफर में परिवर्तित कर रहा हूं और यहां कुछ प्रक्रिया कर रहा हूं। बाद में मैं वही बफर डेटा को वैध JSON ऑब्जेक्ट में कनवर्ट करना चाहता हूं।जेएसओएन ऑब्जेक्ट को जेएसओएन ऑब्जेक्ट पर जेएसओएन ऑब्जेक्ट में कनवर्ट करें

मैं नोड V6.9.1

नीचे पर कोड मैं करने की कोशिश की काम कर रहा हूँ है, लेकिन मैं [object object] हो रही है जब मैं JSON करने के लिए वापस बदलने और इस वस्तु नहीं खोल सकता।

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] 

तो मैं निरीक्षण रास्ता

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

तो मैं एक सरणी

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

मैं भी पार्स करने की कोशिश की है जैसे कि यह पढ़ने की कोशिश का उपयोग कर पूरी वस्तु प्रिंट करने की कोशिश यह SyntaxError: Unexpected token o in JSON at position 2

फेंक

मुझे इसे वास्तविक वस्तु के रूप में देखने की ज़रूरत है जैसे मैंने बनाया [मेरा मतलब ऊपर घोषित किया गया है]।

कृपया मदद ..

उत्तर

37

आप obj JSON स्ट्रिंग परिवर्तित करने के लिए json stringify करने के लिए, ना बुलाने toString

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

जरूरत है और:

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

काम करता है सही :) –

+1

न की जरूरत 'नया' – jpillora

संबंधित मुद्दे