كتابة كائن JSON إلى ملف JSON مع fs.writeFileSync




node.js (3)

اجعل الإنسان قابلاً للقراءة من خلال تمرير وسيطة ثالثة stringify :

fs.writeFileSync('../data/phraseFreqs.json', JSON.stringify(output, null, 4));

أحاول كتابة كائن JSON إلى ملف JSON. يتم تنفيذ التعليمات البرمجية دون أخطاء ، ولكن بدلاً من كتابة محتوى الكائن ، كل ما يتم كتابته في ملف JSON هو:

[object Object]

هذا هو الكود الذي يقوم بالفعل بالكتابة:

fs.writeFileSync('../data/phraseFreqs.json', output)

"الإخراج" هو كائن JSON ، والملف موجود بالفعل. واسمحوا لي أن أعرف إذا كانت هناك حاجة لمزيد من المعلومات.


تحتاج إلى توحيد الكائن.

fs.writeFileSync('../data/phraseFreqs.json', JSON.stringify(output));

لا أعتقد أنه يجب عليك استخدام الطريقة المتزامنة ، وكتابة البيانات بشكل غير متزامن إلى ملف من الأفضل أن تقوم أيضًا بتعزيز output إذا كان object .

ملاحظة: إذا كان output عبارة عن سلسلة ، فحدد الترميز وتذكر خيارات flag أيضًا:

const fs = require('fs');
const content = JSON.stringify(output);

fs.writeFile('/tmp/phraseFreqs.json', content, 'utf8', function (err) {
    if (err) {
        return console.log(err);
    }

    console.log("The file was saved!");
}); 

تمت إضافة طريقة متزامنة لكتابة البيانات إلى ملف ، ولكن يرجى مراعاة حالة الاستخدام الخاصة بك. غير متزامن مقابل التنفيذ المتزامن ، ماذا يعني حقا؟

const fs = require('fs');
const content = JSON.stringify(output);

fs.writeFileSync('/tmp/phraseFreqs.json', content);






fs