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)用。但是,如果您嘗試在沒(méi)有事先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文件()功能。