Node.js將JSON對(duì)象寫入文件–在本文中,我們將學(xué)習(xí)將JSON對(duì)象寫入本地文件。
要將JSON對(duì)象寫入本地文件,請(qǐng)按照以下逐步指南進(jìn)行操作:
字符串化JSON對(duì)象。使用JSON.stringify(jsonObject)將JSON對(duì)象轉(zhuǎn)換為JSON字符串。
使用fs將字符串化對(duì)象寫入文件。Node FS模塊的writeFile()函數(shù)。
在下面的Nodejs腳本中,JSON數(shù)據(jù)作為字符串存儲(chǔ)在變量jsonData中。然后我們用JSON.parse()函數(shù)來(lái)JSONify字符串?,F(xiàn)在我們有了一個(gè)JSON對(duì)象。到目前為止,我們模擬了您已經(jīng)獲得或創(chuàng)建了一個(gè)JSON對(duì)象的情況。
我們希望將此JSON對(duì)象保存到文件中。
為了將JSON對(duì)象保存到文件中,我們將json對(duì)象進(jìn)行字符串化,jsonObj然后使用Node FS的writeFile()函數(shù)將其寫入文件中。
// 文件系統(tǒng)模塊執(zhí)行文件操作 const fs = require('fs'); // json數(shù)據(jù) var jsonData = '{"persons":[{"name":"John","city":"New York"},{"name":"Phil","city":"Ohio"}]}'; // 解析json var jsonObj = JSON.parse(jsonData); console.log(jsonObj); // 字符串化JSON對(duì)象 var jsonContent = JSON.stringify(jsonObj); console.log(jsonContent); fs.writeFile("output.json", jsonContent, 'utf8', function (err) { if (err) { console.log("An error occured while writing JSON Object to File."); return console.log(err); } console.log("JSON file has been saved."); });
使用node命令在Terminal中運(yùn)行以上程序
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 file has been saved.
在上面的程序中,您可能已經(jīng)注意到,當(dāng)?shù)卿浀娇刂婆_(tái)時(shí),hjsondata和jsoncontent都會(huì)產(chǎn)生相同的輸出。這是因?yàn)楫?dāng)JSON對(duì)象被記錄到控制臺(tái)時(shí),toString方法被隱式調(diào)用。但是,如果您嘗試在沒有事先Stringify的情況下直接將JSON對(duì)象寫入文件,則會(huì)導(dǎo)致[object object]寫入文件。
結(jié)論節(jié)點(diǎn).js教程-節(jié)點(diǎn).js將JSON對(duì)象寫入文件,我們已經(jīng)學(xué)會(huì)了使用JSON.stringify()功能和FS.writeFile文件()功能。