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

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

如何使用 Node.js 和 JSON 文件?

Node.js是基于 Chrome 的 V8 JavaScript 引擎构建的 JavaScript 运行时。使用 node.js 作为后端,开发人员可以在 javaScript 中为整个应用程序维护一个代码库。
另一方面, JSON代表 JavaScript 对象表示法。它是一种用于存储和交换数据的轻量级格式。
创建脚本: Node.js 脚本使用 js 文件扩展名创建。下面是存储为app.js文件的示例脚本。将主可执行文件编写为app.js是一种常见的约定。

javascript
console.log('Hello Node.js!');


javascript
const fs = require('fs')
 
//  Writing to a file
fs.writeFileSync('demo.txt', 'geeks')


javascript
// File Name: index.js
const demo = () => {
  console.log('This Functions uses'
          + ' ES6 arrow operator');
}
 
// We can export multiple functions
// by exporting an object of functions
// instead of a simple function
 
module.exports = check


javascript
// File Name : app.js
 
// This index variable can be used
// to access all the exported methods
// of index.js in this file.
const index = require('./index.js');
 
// Executes all the functions
// contained in index.js
index();
 
// For any specific function use:
// Imported_variable.function_name()
index.check();


javascript
// Importing 'fs' module
const fs = require("fs");
 
const geeksData = { title: "Node",
        article: "geeksforgeeks" };
 
// Covert JavaScript object into JSON string
const geeksJSON = JSON.stringify(geeksData);
 
// Covert JSON string into object
const geeksObject = JSON.parse(geeksJSON);
console.log(geeksObject.article);
 
// Adding more properties to JSON object
geeksObject.stack = "js";
geeksObject.difficulty = 1;
 
// Converting js object into JSON string
// and writing to data.json file
const dataJSON = JSON.stringify(geeksObject);
fs.writeFileSync("data.json", dataJSON);
console.log(geeksObject);


运行脚本:我们可以使用 node app.js 命令运行 Node.js 脚本。打开终端窗口并导航到脚本所在的目录。

输出:

Hello Node.js

导入 Node.js 核心模块: Node.js 包含一些内置模块。这些模块是 Node 自带的,所以不需要安装。最常用的模块之一是文件系统或fs模块。 fs模块提供了一个与文件系统交互的 API,或者基本上它提供了我们可以用来操作文件系统的函数。为了导入任何模块,我们使用 require()函数。该脚本使用writeFileSync将消息写入 demo.txt。运行脚本后,我们会找到 demo.txt 文件,其中写入的数据与writeFileSync函数中给定的参数相同。如果目录中不存在“demo.txt”文件,则会创建一个同名的新文件。

javascript

const fs = require('fs')
 
//  Writing to a file
fs.writeFileSync('demo.txt', 'geeks')

从文件导出: module.exports是一个内置在节点包中的对象。要在另一个文件中使用任何函数,我们必须将其从具有其定义的文件中导出,并将其导入我们希望使用它的文件中。

javascript

// File Name: index.js
const demo = () => {
  console.log('This Functions uses'
          + ' ES6 arrow operator');
}
 
// We can export multiple functions
// by exporting an object of functions
// instead of a simple function
 
module.exports = check

导入我们自己的文件: require函数也可以用来加载我们自己的 JavaScript 文件。我们必须提供要加载脚本的文件的相对路径。

javascript

// File Name : app.js
 
// This index variable can be used
// to access all the exported methods
// of index.js in this file.
const index = require('./index.js');
 
// Executes all the functions
// contained in index.js
index();
 
// For any specific function use:
// Imported_variable.function_name()
index.check();

写入和读取 JSON 文件: JavaScript 提供了两种处理 JSON 的方法。第一个是JSON.stringify ,第二个是JSON.parseJSON.stringify将 JavaScript 对象转换为 JSON字符串,而JSON.parse将 JSON字符串转换为 JavaScript 对象。由于 JSON 只不过是一个字符串,因此它可以用于将数据存储在文本文件中。
下面的代码仅在 data.json 文件存在时才有效,因为writeFileSync如果不存在则不会创建 JSON 文件。如果文件不存在,则仅在文本文件的情况下创建文件。

javascript

// Importing 'fs' module
const fs = require("fs");
 
const geeksData = { title: "Node",
        article: "geeksforgeeks" };
 
// Covert JavaScript object into JSON string
const geeksJSON = JSON.stringify(geeksData);
 
// Covert JSON string into object
const geeksObject = JSON.parse(geeksJSON);
console.log(geeksObject.article);
 
// Adding more properties to JSON object
geeksObject.stack = "js";
geeksObject.difficulty = 1;
 
// Converting js object into JSON string
// and writing to data.json file
const dataJSON = JSON.stringify(geeksObject);
fs.writeFileSync("data.json", dataJSON);
console.log(geeksObject);

运行代码的命令:

node app.js

输出:

geeksforgeeks { 
    title: 'Node', 
    article: 'geeksforgeeks', 
    stack: 'js', 
    difficulty: 1 
}