Nodejs、TypeScript和Vuejs

如何在Node.js中读取和写入JSON对象到文件

2020-10-21  本文已影响0人  雪域迷影

本文翻译自How to read and write a JSON object to a file in Node.js

有时您想将JSON对象存储到Node.js应用程序中的文件中,然后在以后检索它。 例如,当您开始创建新的RESTful API时,将数据存储在本地文件系统上可能是一个不错的选择。 您可以跳过数据库设置,而是将JSON数据保存到文件中。

在本文中,您将学习如何在Node.js中将JSON对象写入文件。 在上一篇文章中,我们研究了如何[在Node.js中读写文件](https://attacomsian.com/blog/reading-writing-files-nodejs0。 如果您需要有关读写文件的更多信息,请查看一下。

将JSON写入文件

JavaScript提供了一个内置的·JSON对象,用于解析和序列化JSON数据。 您可以使用JSON.stringify()方法将JSON对象转换为其字符串表示形式,然后使用文件系统fs模块将·其写入文件。

这是一个使用fs.writeFile()方法将JSON对象异步写入文件的示例:

const fs = require('fs');

// create a JSON object
const user = {
    "id": 1,
    "name": "John Doe",
    "age": 22
};

// convert JSON object to string
const data = JSON.stringify(user);

// write JSON string to a file
fs.writeFile('user.json', data, (err) => {
    if (err) {
        throw err;
    }
    console.log("JSON data is saved.");
});

将JSON对象漂亮地打印到文件中,可以将其他参数传递给JSON.stringify()

// pretty-print JSON object to string
const data = JSON.stringify(user, null, 4);

fs模块还提供了一种称为writeFileSync()的方法,用于将数据同步写入文件:

try {
    fs.writeFileSync('user.json', data);
    console.log("JSON data is saved.");
} catch (error) {
    console.error(err);
}

在Node.js中使用同步文件操作时要小心。 同步方法会阻塞Node.js事件循环,其他所有操作都必须等待文件操作完成。

从文件读取JSON

要将文件中的JSON数据检索并解析回JSON对象,可以使用fs.readFile()方法和JSON.parse()进行反序列化,如下所示:

const fs = require('fs');

// read JSON object from file
fs.readFile('user.json', 'utf-8', (err, data) => {
    if (err) {
        throw err;
    }

    // parse JSON object
    const user = JSON.parse(data.toString());

    // print JSON object
    console.log(user);
});

上面的示例将在控制台上输出以下内容:

{ id: 1, name: 'John Doe', age: 22 }

就像fs.writeFileSync()方法一样,您也可以使用fs.readFileSync()在Node.js应用程序中同步读取文件。

看一下如何在Node.js中读写JSON文件的教程,以了解有关在Node.js应用程序中读写JSON文件的更多信息。

喜欢这篇文章吗? 在TwitterLinkedIn上关注我。 您也可以订阅`RSS Feed](https://feeds.feedburner.com/attacomsian)。

您可能还喜欢...

上一篇下一篇

猜你喜欢

热点阅读