合并目录nodejs中的所有json文件

时间:2016-11-23 19:10:37

标签: json node.js

我想将所有json文件合并到nodejs中的目录中。这些文件是由用户上传的,我知道他们的名字是设备" count" .json。计数每次都增加。我知道json-concat但是如何使用它来合并目录中的所有文件?

    jsonConcat({
    src: [],
    dest: "./result.json"
}, function (json) {
    console.log(json);
});

2 个答案:

答案 0 :(得分:3)

如果您仔细阅读docs,您将看到此部分:

  

传递的选项对象可能包含以下键:

src:
    (String) path pointing to a directory
    (Array) array of paths pointing to files and/or directories
    defaults to . (current working directory)
    Note: if this is a path points to a single file, nothing will be done.

所以这里有修复:

1)将json文件移动到某个具体路径。

2)检查此代码:

jsonConcat({
    src: './path/to/json/files',
    dest: "./result.json"
}, function (json) {
    console.log(json);
});

here is the prove how it uses src param

大多数情况下,开发人员不仅需要使用第三方零件包,还需要深入了解它的来源。

简而言之:KISS(:

答案 1 :(得分:2)

您可以使用fs模块读取目录中的文件,然后将其传递给json-concat

const jsonConcat = require('json-concat');
const fs = require('fs');

// an array of filenames to concat
const files = [];

const theDirectory = __dirname; // or whatever directory you want to read
fs.readdirSync(theDirectory).forEach((file) => {
  // you may want to filter these by extension, etc. to make sure they are JSON files
  files.push(file);
})

// pass the "files" to json concat
jsonConcat({
  src: files,
  dest: "./result.json"
}, function (json) {
  console.log(json);
});