একটি JSON অবজেক্টকে বাফার এবং বাফারকে JSON অবজেক্টে ফিরে রূপান্তর করুন


106

আমার কাছে একটি JSON অবজেক্ট রয়েছে এবং আমি এটিকে রূপান্তরিত করছি Bufferএবং এখানে কিছু প্রক্রিয়া করছি। পরে আমি একই বাফার ডেটা বৈধ JSON অবজেক্টে রূপান্তর করতে চাই।

আমি নোড ভি 6.9.1 এ কাজ করছি

নীচে আমার চেষ্টা করা কোডটি রয়েছে তবে আমি [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]

তাই আমি পরিদর্শন পদ্ধতি ব্যবহার করে পুরো বস্তুটি মুদ্রণের চেষ্টা করেছি

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

আমার এটি তৈরির মতো বাস্তব অবজেক্ট হিসাবে দেখতে হবে (আমি বোঝাতে চাইছি উপরে বর্ণিত)।

সাহায্য করুন..


({"id":"value"}).toString() === '[object Object]' //true
এরিক হোডনস্কি

new Buffer()অবচয় করা হয়। এখানে দেখুন: nodejs.org/api/buffer.html#buffer_new_buffer_array
স্পেনসার

উত্তর:


193

আপনাকে কলিং নয়, জসনকে আরও শক্তিশালী করতে হবে toString

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

এবং স্ট্রিংটিকে জসন ওজেজে রূপান্তর করার জন্য:

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

4
new
jpillora

4
এর চেয়ে ভাল সমাধান কি নেই? আমি সংখ্যাগুলিকে স্ট্রিংয়ে রূপান্তর করতে পছন্দ করি না।
বেনোইট

4
এই যদি অন্য বাফার ক্ষেত্র হয় কাজ করবে নাobj
gilamran

7
আসলে, এখানে toString প্রয়োজন হয় না। groups.google.com/forum/#!topic/nodejs/hybuh7DbQkM
Dzenly

4
আমার জন্য, যখন আমি JSON.stringify কে সরিয়ে পরামিতিগুলির মধ্যে সরাসরি অবজেক্টটি রেখেছিলাম তখন এটি কাজ করেছিল: var buf = Buffer.from ({কী: 'মান', কী: 'মান', কী: 'মান' , কী: 'মান', কী: 'মান'});
হোর্হে মরিসিও
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.