加载多个JSON文件

时间:2015-03-16 08:12:03

标签: javascript json node.js

我正在开发一个带有node.js的项目,其中文件夹中有多个JSON文件说FILES,我必须访问这些文件的内容。 一种方法是使用

var a = require('jsonfile')

然后执行所需的查询。

但是假设我有大约20个文件,用require函数编写所有文件会很头疼,有没有更好的方法来做到这一点。我知道在这种情况下可以使用Mongodb,但我想使用JSON文件。有没有更好的方法来解决这个问题?

2 个答案:

答案 0 :(得分:2)

您可以这样做:

var data = {},
    dir = __dirname + '/FILES/';
fs.readdirSync(dir).forEach(function (file) {
    data[file.replace(/\.json$/, '')] = require(dir + file);
});

然后,例如,您可以使用config.json访问名为data.config的json文件。

你也可以像这样使用require-dir module来做同样的事情:

var requireDir = require('require-dir');
var data = requireDir(__dirname + '/FILES/');

答案 1 :(得分:0)

你不能用这样的东西吗?

How do you get a list of the names of all files present in a directory in Node.js?

将所有文件名写入数组中,然后循环遍历它。

或者您可以编写包含所有当前文件的索引文件并首先读取它。