相关文章推荐
憨厚的企鹅  ·  pytorch OSError: ...·  1 年前    · 
聪明的勺子  ·  FormsAuthentication.Si ...·  2 年前    · 
卖萌的酱牛肉  ·  from_csv 函数 - Azure ...·  3 年前    · 
备案 控制台
学习
实践
活动
专区
工具
TVP
写文章
专栏首页 ccf19881030的博客 如何在Node.js中读取和写入JSON对象到文件
5 0

海报分享

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

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

本文翻译自 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;