gpt4 book ai didi

node.js - 读取动态更新文件夹中包含的所有 JSON 文件

转载 作者:行者123 更新时间:2023-12-05 08:25:50 27 4
gpt4 key购买 nike

我在一个目录中包含多个 json 文件,这些文件将由用户动态更新。用户可以添加将在该目录中创建新的 json 文件的类别,他们还可以删除将删除该目录中的 json 文件的类别。我正在寻找一种方法来读取该文件夹目录中包含的所有 json 文件,并将所有 json 文件推送到单个对象数组中。我想异步也是可取的。

我对使用 fs 很陌生。我已经管理使用

按目录读取单个 json 文件
const fs = require('fs');

let data = fs.readFileSync('./sw_lbi/categories/category1.json');
let categories = JSON.parse(data);
console.log(categories);

当然,这只会解决使用 require()

时的同步问题

因为我不知道该目录中将包含哪些 json 文件,因为用户也会给它们命名,所以我需要一种方法来读取所有 json 文件,只需调用包含它们的文件夹目录即可。

我正在想象这样的事情(这显然是愚蠢的)

const fs = require('fs');

let data = fs.readFileSync('./sw_lbi/categories');
let categories = JSON.parse(data);
console.log(categories);

实现这一目标的最佳方法是什么?

提前致谢。

最佳答案

首先您需要扫描此目录中的文件,接下来您需要过滤它们并仅选择 JSON,最后读取每个文件并执行您需要执行的操作

const fs = require('fs');
const path = require('path')

const jsonsInDir = fs.readdirSync('./sw_lbi/categories').filter(file => path.extname(file) === '.json');

jsonsInDir.forEach(file => {
const fileData = fs.readFileSync(path.join('./sw_lbi/categories', file));
const json = JSON.parse(fileData.toString());
});

关于node.js - 读取动态更新文件夹中包含的所有 JSON 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61645720/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com