📜  Node.js fs-extra readJson()函数(1)

📅  最后修改于: 2023-12-03 15:17:54.336000             🧑  作者: Mango

Node.js fs-extra readJson()函数

简介

Node.js fs-extra模块是一个文件系统工具包,提供了比Node.js原始fs更高级的API,包括了复制、删除、移动、创建目录、读取和写入文件等功能。其中readJson()函数就是fs-extra模块中的一个用于读取JSON文件的函数。

用法
const fs = require('fs-extra');

fs.readJson(file, [options], [callback]);
参数
  • file(string | Buffer | URL): 要读取的JSON文件的路径。
  • options(Object):
    • encoding(string): 文件编码,默认值为utf8
    • flag(string): 文件操作标记,默认为r
    • reviver(function): 自定义JSON.parse()解析器和将函数作为该JSON对象上每个成员的字面量对象。更多细节请见JSON.parse()文档
    • throws(boolean): JSON.parse()出错时是否抛出错误,默认值为true
  • callback(function): 回调函数,格式为function(err, data)
    • err(Error): 错误对象,如果没有错误则为null
    • data(Object): JSON文件内容解析后的JavaScript对象。
返回值

返回一个Promise对象,如果没有指定回调函数,则必须使用Promise接收读取的数据。

示例
const fs = require('fs-extra');

fs.readJson('./data.json')
    .then(data => console.log(data))
    .catch(err => console.error(err));

上面的代码中,我们读取了一个JSON文件并将其内容打印到控制台中,如果读取发生了错误,则会使用错误码将其打印到控制台中。

注意事项
  • 如果文件内容非法的JSON格式,则会抛出错误。
  • 如果JSON解析时发生了错误,则会抛出错误。
  • 该方法在打开文件前,将使用String.prototype.normalize()函数将文件路径规范化,这意味着您可以将一个具有Unicode字符的路径当作参数传入,并得到正确的结果。
参考资料