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

时间:2014-06-26 13:35:20

标签: json gulp

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

n个json文件的格式如下:

{
    "id": "groupofthings1",
    "things": [
        { ... },
        { ... },
    ],
    ...
}

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

[
    { ... },
    { ... },
    { ... },
    { ... },
    ...
]

1 个答案:

答案 0 :(得分: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"));