English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Node.js将JSON对象写入文件–在本文中,我们将学习将JSON对象写入本地文件。
要将JSON对象写入本地文件,请按照以下逐步指南进行操作:
字符串化JSON对象。使用JSON.stringify(jsonObject)将JSON对象转换为JSON字符串。
使用fs将字符串化对象写入文件。Node FS模块的writeFile()函数。
在下面的Nodejs脚本中,JSON数据作为字符串存储在变量jsonData中。然后我们用JSON.parse()函数来JSONify字符串。现在我们有了一个JSON对象。到目前为止,我们模拟了您已经获得或创建了一个JSON对象的情况。
我们希望将此JSON对象保存到文件中。
为了将JSON对象保存到文件中,我们将json对象进行字符串化,jsonObj然后使用Node FS的writeFile()函数将其写入文件中。
// 文件系统模块执行文件操作 const fs = require('fs'); // json数据 var jsonData = '{"persons":[{"name":"John","city":"New York"},{"name":"Phil","city":"Ohio"}]}'; // تحويل سلسلة إلى أوبجكت JSON var jsonObj = JSON.parse(jsonData); console.log(jsonObj); // تحويل أوبجكت JSON إلى سلسلة var jsonContent = JSON.stringify(jsonObj); console.log(jsonContent); fs.writeFile("output.json", jsonContent, 'utf8', function(err) { if (err) { console.log("حدث خطأ أثناء كتابة أوبجكت JSON إلى الملف."); return console.log(err); } console.log("تم حفظ ملف JSON."); );
تشغيل البرنامج المذكور أعلاه باستخدام الأمر node في Terminal
أوامر Node.js في نافذة التشغيل
$ node nodejs-write-json-object-to-file.js { persons: [ { name: 'John', city: 'New York' }, { name: 'Phil', city: 'Ohio' } ] } {"persons":[{"name":"John","city":"New York"},{"name":"Phil","city":"Ohio"}]} تم حفظ ملف JSON.
في البرنامج المذكور أعلاه، قد لاحظت أن hjsondata و jsoncontent ينتجان نفس الخروج عند تسجيل الدخول إلى الشاشة. هذا بسبب أن يتم طلب دالة toString تلقائيًا عند تسجيل أوبجكت JSON في الشاشة. ولكن، إذا حاولت كتابة أوبجكت JSON مباشرة إلى الملف بدون تحويله إلى سلسلة، فإنه سيتسبب في [object object] إلى الملف.
الخاتمة - تعليمات Node.js - لقد تعلمنا كيفية كتابة أوبجكت JSON إلى ملف باستخدام وظيفة JSON.stringify() وفئة FS.writeFile