使用gulp将多个json文件合并和编辑为一个

ple*_*ltz 10 json gulp

我有点傻了,我正在寻找正确的任务组合来读取大量类似格式的json文件,从每个文件中拉出一个特定的数组,将它们组合起来,然后保存为新文件.我已经成功地使用gulp-concat来组合文件,并使用gulp-json-editor来更改一个文件的值,但是我很难知道如何将这些进程串联起来.

n个json文件的格式如下:

{
    "id": "groupofthings1",
    "things": [
        { ... },
        { ... },
    ],
    ...
}
Run Code Online (Sandbox Code Playgroud)

所需的单个文件输出包含所有"东西":

[
    { ... },
    { ... },
    { ... },
    { ... },
    ...
]
Run Code Online (Sandbox Code Playgroud)

ple*_*ltz 8

我找了一些搜索,但最终找到了jsoncombine

它加载所有json文件并通过自定义函数运行它们作为json对象的哈希.每个json对象都保存在其原始文件名下.

gulp.src("./groups/of/things/**/things.json")
.pipe(jsoncombine("all-things.json",function(data){
    // do any work on data here
    return new Buffer(JSON.stringify(data));
 }))
 .pipe(gulp.dest("./dest"));
Run Code Online (Sandbox Code Playgroud)