فایل های json متنی هستند و به راحتی قابل تبدیل به آبجکت جاوا اسکریپت می باشند. از json برای تبادل اطلاعات بین مرورگر و سرور استفاده می شود. برای شروع کدهای زیر را با نام app.js ذخیره و اجرا کنید:
var obj = { name: 'Ali' }; var stringObj = JSON.stringify(obj); console.log(typeof stringObj); console.log(stringObj);
در خط اول شما یک آجکت به نام obj تعریف میکنید، اما همان طور که گفته شد ساختار فایل های json متنی می باشد. به همین منظور در خط 4 با دستور JSON.stringify آبجکت را به متنی تبدیل می کنید. در خط 5 با دستور typeof نوع متغیر stringObj مشخص می شود و در خط بعدی کل محتوای stringObj قابل نمایش خواهد بود. خروجی کدهای بالا به شکل زیر خواهد بود.
حالا برعکس این کار را انجام می دهیم. یعنی اینبار متن (string) را به آبجکت تبدیل می کنیم. به کدهای زیر دقت کنید:
var nameString = '{"name": "Ali","age": 25}'; var nameObj = JSON.parse(nameString); console.log(typeof nameObj); console.log(nameObj);
در کدهای بالا خط اول یک string را در متغیر nameString ذخیره می کنیم. و در خط دوم بوسیله دستور JSON.parse آن را به آبجکت تبدیل می کنیم. خروجی کدهای بالا به شکل زیر خواهد بود.
ایجاد یک فایل json و ذخیره آن در node.js
حالا یک مثال کاملتر و عملیتر، به کدهای زیر دقت کنید:
const fs = require('fs'); var originalNote = { title: 'Some title', body: 'Some body' }; var originalNoteString = JSON.stringify(originalNote); fs.writeFileSync('notes.json', originalNoteString); var noteString = fs.readFileSync('notes.json'); var note = JSON.parse(noteString); console.log(typeof note); console.log(note.title);
در خط 2 یک متغیر تعریف می کنیم و یک آبجکت در آن ذخیره می کنیم. حالا می خواهیم همین آبجکت را در به صورت یک فایل json ذخیره کنیم. برای این کار ابتدا در خط 6 آن را به string تبدیل کرده و در خط 7 با نام notes.json ذخیره می کنیم. حال در ادامه می خواهیم همین فایل را خوانده در صفحه cmd نمایش دهیم. به همین منظور در خط 9 و 10 ابتدا فایل notes.js را خوانده و به آبجکت تبدیل می کنیم و در نهایت در خطوط 11 و 12 نوع فایل و title را در صفحه cmd نمایش می دهیم. خروجی کدهای بالا به شکل زیر خواهد بود.