如何使用 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文件,它将如下所示: