美文网首页Nodejs、TypeScript和Vuejs
如何在Node.js中读取和写入JSON对象到文件

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

作者: 雪域迷影 | 来源:发表于2020-10-21 08:52 被阅读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)。

    您可能还喜欢...

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/wklqmktx.html