将多个json文件读入JavaScript中的对象数组

时间:2019-02-10 09:48:09

标签: javascript node.js

我需要读取的文件夹下有多个json文件。数据文件路径如下:

./data/json1.json
./data/json2.json

我的初始值设定项类的工作方式如下:

const j1 = require('./data/json1.json');
const j2 = require('./data/json2.json');
init(){
    return j1.concat(j2);
}

是否存在更好的方法,因为数据下的文件列表可能会增加,并且每次需要修改时都会如此?

我最好避免在文件夹中循环并读取文件以附加到init()中的数组对象中的解决方案。

2 个答案:

答案 0 :(得分:1)

作为一种变体:

'use strict';

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

const dir = './data';

function init() {
  return fs.readdirSync(dir)
           .filter(name => path.extname(name) === '.json')
           .map(name => require(path.join(dir, name)));
}

答案 1 :(得分:0)

您可以使用glob软件包。

const glob = require("glob");
const path = require("path");
let files = path.join(__dirname, "data/*.json");
files.forEach(function(file) {
   //Do your thing
});