我有点喜欢,我正在寻找正确的任务组合,以读取n个类似格式的json文件,从每个文件中拉出一个特定的数组,将它们组合起来,然后另存为新文件。我已经成功地使用了gulp-concat来组合文件,并使用gulp-json-editor来更改一个文件上的值,但是我很难集中精力处理如何将这些进程串在一起。
n个json文件,其格式如下:
{
"id": "groupofthings1",
"things": [
{ ... },
{ ... },
],
...
}
包含所有“事物”的所需单个文件输出:
[
{ ... },
{ ... },
{ ... },
{ ... },
...
]
最佳答案
让我进行了一些搜索,但最终找到了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"));