📜  如何使用 Node.js 读写 JSON 文件?

📅  最后修改于: 2022-05-13 01:56:23.634000             🧑  作者: Mango

如何使用 Node.js 读写 JSON 文件?

Node.js是一个开源和跨平台的运行时环境,用于在浏览器之外执行 JavaScript 代码。它广泛用于开发从小型到大型公司的 API 和微服务。

JSON或 JavaScript 对象表示法是一种轻量级、基于文本的数据交换格式。与 XML 一样,它是应用程序之间交换信息的一种方式。这种数据格式被 Web 应用程序/API 广泛用于相互通信。

读取 JSON 文件:

  • 方法一:使用 require 方法:读取 JSON 文件最简单的方法是在 node.js 文件中使用require()方法来请求它。

    句法:

    const data = require('path/to/file/filename');

    示例:index.js文件所在的同一目录中创建users.json文件。将以下数据添加到 json 文件中。

    users.json 文件:

    [
      { 
        "name": "John", 
        "age": 21,
        "language": ["JavaScript", "PHP", "Python"] 
      },
      {
         "name": "Smith",
         "age": 25,
         "language": ["PHP", "Go", "JavaScript"] 
      }
    ]
    

    现在,将以下代码添加到您的index.js文件中。

    index.js 文件:

    // Requiring users file
    const users = require("./users");
      
    console.log(users);
    

    现在,使用以下命令运行文件:

    node index.js

    输出:

  • 方法二:使用 fs 模块:我们也可以使用 node.js 的fs模块来读取文件。 fs模块以字符串格式返回文件内容,因此我们需要使用JSON.parse()内置方法将其转换为 JSON 格式。
    将以下代码添加到您的index.js文件中:
    index.js 文件:
    const fs = require("fs");
       
    // Read users.json file
    fs.readFile("users.json", function(err, data) {
          
        // Check for errors
        if (err) throw err;
       
        // Converting to JSON
        const users = JSON.parse(data);
          
        console.log(users); // Print users 
    });
    

    现在再次运行该文件,您将看到如下输出:
    输出:

写入 JSON 文件:我们可以使用 node.js fs模块将数据写入 JSON 文件。我们可以使用writeFile方法将数据写入文件。

句法:

fs.writeFile("filename", data, callback);

示例:我们将向现有 JSON 文件添加一个新用户,我们在前面的示例中创建。此任务将分三步完成:

  • 使用上述方法之一读取文件。
  • 使用.push()方法添加数据。
  • 使用JSON.stringify()方法将新数据写入文件,将数据转换为字符串。
const fs = require("fs");
  
// STEP 1: Reading JSON file
const users = require("./users");
   
// Defining new user
let user = {
    name: "New User",
    age: 30,
    language: ["PHP", "Go", "JavaScript"]
};
   
// STEP 2: Adding new data to users object
users.push(user);
   
// STEP 3: Writing to a file
fs.writeFile("users.json", JSON.stringify(users), err => {
     
    // Checking for errors
    if (err) throw err; 
   
    console.log("Done writing"); // Success
});

再次运行该文件,您将在控制台中看到一条消息:

现在检查您的users.json文件,它将如下所示: