用Node.js读取一个JSON文件的代码实例

399 阅读2分钟

JSON(JavaScript Object Notation)是一种数据格式,用于跨应用程序共享数据。应用程序可以使用不同的语言,它们能够使用JSON格式共享信息。

Node.js和NPM使用一个JSON文件来存储配置细节:package.json 文件。除了package.json 文件,你可以与位于本地磁盘上的其他JSON文件互动。Node.js带有内置功能,可以从你的硬盘上读取和解析JSON文件。请继续阅读更多细节!

从磁盘读取和解析JSON文件

Node.js提供了fs模块来读取本地硬盘上的文件。使用Fs.readFile 来读取一个给定文件的内容。与一个JSON文件有关,然后你会得到JSON内容的字符串。

下一步是将JSON字符串解析为一个JavaScript值。Node.js为此提供了全局的JSON 类。使用JSON.parse 方法将JSON字符串转换为一个JavaScript对象

这里有一个代码样本,从硬盘上读取本地package.json ,并将其解析为可用的JavaScript对象:

const Fs = require('fs/promises')

const json = await Fs.readFile('./package.json')  
const package = JSON.parse(json)

package.version  
// 3.5.0

你可以像使用其他的JavaScript对象一样使用package 对象。

读取一个JSON文件require()

CommonJS模块加载器自带了require() 函数。它是一个全局函数,你通常用来在其他文件中导入文件。require 的一个好处是,它也可以读取和解析JSON文件。它从磁盘加载JSON文件,并检测是否需要将其解析为一个JavaScript对象。

你可以像这样使用CommonJS模块加载器的require ,导入一个JSON文件:

const package = require('./package.json')

package.version  
// 3.5.0

使用@supercharge/fs包

我是@supercharge/fs包的维护者,提供方便的文件系统实用程序。@supercharge/fs 包中有一个方便的Fs.readJson(path) 方法。Fs.readJson 方法读取并解析JSON文件的内容,并返回解析后的JavaScript值:

import Fs from '@supercharge/fs'

const package = await Fs.readJson('package.json')

package.version  
// 3.5.0

就是这样!