加载多个 JSON 文件 [重复]

Posted

技术标签:

【中文标题】加载多个 JSON 文件 [重复]【英文标题】:Load multiple JSON files [duplicate] 【发布时间】:2015-05-18 07:01:56 【问题描述】:

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

var a = require('jsonfile')

然后执行所需的查询。

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

【问题讨论】:

***.com/a/10049704/3556874 【参考方案1】:

你可以这样做:

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

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

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

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

【讨论】:

在此行出现错误表示“。”上出现意外标记在 forEach 之前。 fs.readdirSync(dir).forEach(function (file) @pkoli 我怀疑您运行的代码与上面相同。我无法重现您提到的错误。【参考方案2】:

你不能用这样的东西吗?

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

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

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

【讨论】:

以上是关于加载多个 JSON 文件 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

在 BigQuery 中嵌套多个重复字段

JSON文件未正确加载[重复]

将 Json 文件加载到表时结果不一致 [重复]

getJSON 在 chrome 上本地加载 json 数据文件时出错 [重复]

加载 back.json 文件 PostgreSQL 时出现重复键问题

从Matlab中的单个文件加载多个函数[重复]